---
title: "makeDynamicLibrary(url:)"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtldevice/makedynamiclibrary(url:)"
---

# makeDynamicLibrary(url:)

Creates a Metal dynamic library instance that contains the functions in the Metal library file at a URL.

## Declaration

```swift
func makeDynamicLibrary(url: URL) throws -> any MTLDynamicLibrary
```

## Parameters

- `url`: A URL to a Metal library file (ending in .metallib).

## Mentioned in

Compiling and linking Metal dynamic libraries

## Return Value

Return Value A new MTLDynamicLibrary instance if the method completes successfully; otherwise Swift throws an error and Objective-C returns nil.

## See Also

### Creating dynamic shader libraries

- [supportsDynamicLibraries](metal/mtldevice/supportsdynamiclibraries.md)
- [supportsRenderDynamicLibraries](metal/mtldevice/supportsrenderdynamiclibraries.md)
- [makeDynamicLibrary(library:)](metal/mtldevice/makedynamiclibrary(library:).md)
- [MTLDynamicLibraryError.Code](metal/mtldynamiclibraryerror-swift.struct/code.md)
- [MTLDynamicLibraryDomain](metal/mtldynamiclibrarydomain.md)
