---
title: "makeLibrary(stitchedDescriptor:completionHandler:)"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtldevice/makelibrary(stitcheddescriptor:completionhandler:)"
---

# makeLibrary(stitchedDescriptor:completionHandler:)

Asynchronously creates a Metal library from the function stitching graphs in a descriptor.

## Declaration

```swift
func makeLibrary(stitchedDescriptor descriptor: MTLStitchedLibraryDescriptor, completionHandler: @escaping @Sendable ((any MTLLibrary)?, (any Error)?) -> Void)
```

```swift
func makeLibrary(stitchedDescriptor descriptor: MTLStitchedLibraryDescriptor) async throws -> any MTLLibrary
```

## Parameters

- `descriptor`: An doc://com.apple.metal/documentation/Metal/MTLStitchedLibraryDescriptor instance.
- `completionHandler`: A Swift closure or Objective-C block the method calls when the library finishes loading.

## See Also

### Creating shader libraries

- [makeDefaultLibrary()](metal/mtldevice/makedefaultlibrary().md)
- [makeDefaultLibrary(bundle:)](metal/mtldevice/makedefaultlibrary(bundle:).md)
- [makeLibrary(URL:)](metal/mtldevice/makelibrary(url:).md)
- [makeLibrary(source:options:)](metal/mtldevice/makelibrary(source:options:).md)
- [makeLibrary(source:options:completionHandler:)](metal/mtldevice/makelibrary(source:options:completionhandler:).md)
- [makeLibrary(stitchedDescriptor:)](metal/mtldevice/makelibrary(stitcheddescriptor:).md)
- [makeLibrary(data:)](metal/mtldevice/makelibrary(data:)-7khmh.md)
- [makeLibrary(data:)](metal/mtldevice/makelibrary(data:).md)
- [MTLNewLibraryCompletionHandler](metal/mtlnewlibrarycompletionhandler.md)
- [makeLibrary(filepath:)](metal/mtldevice/makelibrary(filepath:).md)
