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

# ShaderGraph

## Declaration

```swift
final class ShaderGraph
```

## Topics

### Classes

- [ShaderGraph.NodeLibrary](realitykit/shadergraph/nodelibrary.md)

### Structures

- [ShaderGraph.Edge](realitykit/shadergraph/edge.md)
- [ShaderGraph.Node](realitykit/shadergraph/node.md)
- [ShaderGraph.NodeDefinition](realitykit/shadergraph/nodedefinition.md)

### Initializers

- [init(from:)](realitykit/shadergraph/init(from:).md)
- [init(named:inputs:outputs:)](realitykit/shadergraph/init(named:inputs:outputs:).md)
- [init(named:inputs:outputs:nodeLibrary:)](realitykit/shadergraph/init(named:inputs:outputs:nodelibrary:).md)

### Instance Properties

- [arguments](realitykit/shadergraph/arguments.md)
- [edges](realitykit/shadergraph/edges.md)
- [functionConstantInputs](realitykit/shadergraph/functionconstantinputs.md)
- [inputs](realitykit/shadergraph/inputs.md)
- [nodes](realitykit/shadergraph/nodes.md)
- [outputs](realitykit/shadergraph/outputs.md)
- [primvarMappings](realitykit/shadergraph/primvarmappings.md)
- [results](realitykit/shadergraph/results.md)

### Instance Methods

- [addConstant(_:)](realitykit/shadergraph/addconstant(_:).md)
- [addConstant(_:named:)](realitykit/shadergraph/addconstant(_:named:).md)
- [addEdge(_:)](realitykit/shadergraph/addedge(_:).md)
- [addNode(_:)](realitykit/shadergraph/addnode(_:).md)
- [canAddEdge(_:)](realitykit/shadergraph/canaddedge(_:).md)
- [canAddNode(_:)](realitykit/shadergraph/canaddnode(_:).md)
- [connect(_:outputPort:to:inputPort:)](realitykit/shadergraph/connect(_:outputport:to:inputport:).md)
- [containsEdge(_:)](realitykit/shadergraph/containsedge(_:).md)
- [encode()](realitykit/shadergraph/encode().md)
- [removeEdge(_:)](realitykit/shadergraph/removeedge(_:).md)
- [removeNode(_:)](realitykit/shadergraph/removenode(_:).md)
- [replace(nodes:edges:)](realitykit/shadergraph/replace(nodes:edges:).md)
- [updateNode(_:forKey:)](realitykit/shadergraph/updatenode(_:forkey:).md)
- [validate()](realitykit/shadergraph/validate().md)
- [validateAddingEdge(_:)](realitykit/shadergraph/validateaddingedge(_:).md)
- [validateAddingNode(_:)](realitykit/shadergraph/validateaddingnode(_:).md)

### Subscripts

- [subscript(_:)](realitykit/shadergraph/subscript(_:).md)

### Type Aliases

- [ShaderGraph.EdgeError](realitykit/shadergraph/edgeerror.md)
- [ShaderGraph.EdgeType](realitykit/shadergraph/edgetype.md)
- [ShaderGraph.NodeError](realitykit/shadergraph/nodeerror.md)
- [ShaderGraph.NodeKey](realitykit/shadergraph/nodekey.md)
- [ShaderGraph.NodeType](realitykit/shadergraph/nodetype.md)

### Enumerations

- [ShaderGraph.DataType](realitykit/shadergraph/datatype.md)
- [ShaderGraph.TextureCoordinate](realitykit/shadergraph/texturecoordinate.md)
- [ShaderGraph.Value](realitykit/shadergraph/value.md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
