---
title: ShaderGraph.NodeLibrary
framework: realitykit
role: symbol
role_heading: Class
platforms: [iOS 27.0+, iPadOS 27.0+, tvOS 27.0+, visionOS 27.0+]
path: realitykit/shadergraph/nodelibrary
---

# ShaderGraph.NodeLibrary

A catalog of node definitions supported by RealityKit.

## Declaration

```swift
final class NodeLibrary
```

## Overview

Overview Use a library to discover available ShaderGraph.NodeDefinition values and add instances of them to a ShaderGraph. let library = ShaderGraph.NodeLibrary(version: .materialX138) let pbrDef = library.definition(named: "ND_realitykit_pbr_surfaceshader")! let pbrNode = try library.makeNode(from: pbrDef) let pbr = graph.addNode(pbrNode)

## Topics

### Structures

- [ShaderGraph.NodeLibrary.Version](realitykit/shadergraph/nodelibrary/version-swift.struct.md)

### Initializers

- [init(version:)](realitykit/shadergraph/nodelibrary/init(version:).md)

### Instance Properties

- [definitions](realitykit/shadergraph/nodelibrary/definitions.md)
- [version](realitykit/shadergraph/nodelibrary/version-swift.property.md)

### Instance Methods

- [definition(named:)](realitykit/shadergraph/nodelibrary/definition(named:).md)
- [definitions(function:input:)](realitykit/shadergraph/nodelibrary/definitions(function:input:).md)
- [definitions(function:inputs:)](realitykit/shadergraph/nodelibrary/definitions(function:inputs:).md)
- [definitions(function:output:)](realitykit/shadergraph/nodelibrary/definitions(function:output:).md)
- [makeNode(from:)](realitykit/shadergraph/nodelibrary/makenode(from:).md)
