---
title: Shader library and archive creation
framework: metal
role: collectionGroup
role_heading: API Collection
path: metal/shader-library-and-archive-creation
---

# Shader library and archive creation

Create static and dynamic shader libraries, and binary shader archives.

## Topics

### 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(stitchedDescriptor:completionHandler:)](metal/mtldevice/makelibrary(stitcheddescriptor:completionhandler:).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)

### Creating dynamic shader libraries

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

### Creating binary shader archives

- [makeBinaryArchive(descriptor:)](metal/mtldevice/makebinaryarchive(descriptor:).md)
- [MTLBinaryArchiveDescriptor](metal/mtlbinaryarchivedescriptor.md)
- [MTLBinaryArchiveError.Code](metal/mtlbinaryarchiveerror-swift.struct/code.md)
- [MTLBinaryArchiveDomain](metal/mtlbinaryarchivedomain.md)

## See Also

### Working with GPU devices

- [Device inspection](metal/device-inspection.md)
- [Work submission](metal/work-submission.md)
- [Pipeline state creation](metal/pipeline-state-creation.md)
- [Resource creation](metal/resource-creation.md)
