---
title: makeDefaultLibrary()
framework: metal
role: symbol
role_heading: Instance Method
path: metal/mtldevice/makedefaultlibrary()
---

# makeDefaultLibrary()

Creates a Metal library instance that contains the functions from your app’s default Metal library.

## Declaration

```swift
func makeDefaultLibrary() -> (any MTLLibrary)?
```

## Return Value

Return Value A new MTLLibrary instance if the method completes successfully; otherwise nil.

## Discussion

Discussion Xcode compiles all the Metal source files (ending in .metal) in an Xcode project into a single default library.

## See Also

### Creating shader libraries

- [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)
