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

# ShaderGraph.NodeDefinition

A description of a node type supported by RealityKit, including its inputs, outputs, and platform availability.

## Declaration

```swift
struct NodeDefinition
```

## Overview

Overview Obtain definitions from a ShaderGraph.NodeLibrary and use them to add nodes to a ShaderGraph.

## Topics

### Structures

- [ShaderGraph.NodeDefinition.Input](realitykit/shadergraph/nodedefinition/input.md)
- [ShaderGraph.NodeDefinition.Output](realitykit/shadergraph/nodedefinition/output.md)
- [ShaderGraph.NodeDefinition.SemanticType](realitykit/shadergraph/nodedefinition/semantictype.md)

### Instance Properties

- [availability](realitykit/shadergraph/nodedefinition/availability-swift.property.md)
- [functionalName](realitykit/shadergraph/nodedefinition/functionalname.md)
- [group](realitykit/shadergraph/nodedefinition/group.md)
- [inputs](realitykit/shadergraph/nodedefinition/inputs.md)
- [name](realitykit/shadergraph/nodedefinition/name.md)
- [outputs](realitykit/shadergraph/nodedefinition/outputs.md)

### Instance Methods

- [isAvailable(on:version:)](realitykit/shadergraph/nodedefinition/isavailable(on:version:).md)

### Enumerations

- [ShaderGraph.NodeDefinition.Availability](realitykit/shadergraph/nodedefinition/availability-swift.enum.md)
- [ShaderGraph.NodeDefinition.Platform](realitykit/shadergraph/nodedefinition/platform.md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
