---
title: MTLDynamicLibrary
framework: metal
role: symbol
role_heading: Protocol
path: metal/mtldynamiclibrary
---

# MTLDynamicLibrary

A dynamically linkable representation of compiled shader code for a specific Metal device object.

## Declaration

```swift
protocol MTLDynamicLibrary : NSObjectProtocol, Sendable
```

## Topics

### Identifying the library

- [device](metal/mtldynamiclibrary/device.md)
- [installName](metal/mtldynamiclibrary/installname.md)
- [label](metal/mtldynamiclibrary/label.md)

### Saving a dynamic library to a file

- [serialize(to:)](metal/mtldynamiclibrary/serialize(to:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Shader library management

- [MTLLibrary](metal/mtllibrary.md)
- [MTLBinaryArchive](metal/mtlbinaryarchive.md)
- [MTLCompileOptions](metal/mtlcompileoptions.md)
- [MTLLibraryType](metal/mtllibrarytype.md)
- [MTLLanguageVersion](metal/mtllanguageversion.md)
- [MTLCompileSymbolVisibility](metal/mtlcompilesymbolvisibility.md)
- [MTLLibraryOptimizationLevel](metal/mtllibraryoptimizationlevel.md)
