<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "ShaderGraph-Docs",
  "identifier" : "/documentation/ShaderGraph/Data",
  "metadataVersion" : "0.1.0",
  "role" : "ShaderGraph Node Group",
  "symbol" : {
    "kind" : "ShaderGraph Node Group",
    "modules" : [
      "ShaderGraph"
    ],
    "preciseIdentifier" : "channel"
  },
  "title" : "Data"
}
-->

# Data

Convert data values to different formats, or manipulate individual elements within a data structure.

## Overview

Use data nodes to take one type of data and manipulate it to get a different type of value. Data manipulations can take several forms:

- Convert one data type to a different format.
- Combine individual elements to create a single data type.
- Separate a single data type into its component elements.
- Extract or manipulate individual values from a data structure and use them as input to other nodes.

## Topics

### Nodes

[`Convert`](/documentation/ShaderGraph/Data/Convert)

Converts a stream from one data type to another.

[`Swizzle`](/documentation/ShaderGraph/Data/Swizzle)

Performs an arbitrary permutation of the channels of the input stream, returning a new stream of the specified type.

[`Combine 2`](/documentation/ShaderGraph/Data/Combine-2)

Combines the channels from two streams into two channels of a single output stream of a compatible type.

[`Combine 3`](/documentation/ShaderGraph/Data/Combine-3)

Combines the channels from three streams into three channels of a single output stream of a compatible type.

[`Combine 4`](/documentation/ShaderGraph/Data/Combine-4)

Combines the channels from four streams into four channels of a single output stream of a compatible type.

[`Extract`](/documentation/ShaderGraph/Data/Extract)

Generates a float stream from one channel of a color​N o​r vector​N ​stream.

[`Separate 2`](/documentation/ShaderGraph/Data/Separate-2)

Outputs each of the channels of a vector2 or integer2 as individual float or integer outputs.

[`Separate 3`](/documentation/ShaderGraph/Data/Separate-3)

Outputs each of the channels of a color3, vector3, or integer3 as individual float or integer outputs.

[`Separate 4`](/documentation/ShaderGraph/Data/Separate-4)

Outputs each of the channels of a color4, vector4, or integer4 as individual float or integer outputs.

[`Primvar Reader`](/documentation/ShaderGraph/Data/Primvar-Reader)

A node that provides the ability for shading networks to consume data defined on geometry.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)