<!--
{
  "availability" : [
    "iOS: 8.0.0 - 26.0.0",
    "iPadOS: 8.0.0 - 26.0.0",
    "macCatalyst: 13.1.0 - 26.0.0",
    "macOS: 10.8.0 - 26.0.0",
    "tvOS: 9.0.0 - 26.0.0",
    "visionOS: 1.0.0 - 26.0.0",
    "watchOS: 3.0.0 - 26.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "SceneKit",
  "identifier" : "/documentation/SceneKit/SCNProgramMappingChannelKey",
  "metadataVersion" : "0.1.0",
  "role" : "Global Variable",
  "symbol" : {
    "kind" : "Global Variable",
    "modules" : [
      "SceneKit"
    ],
    "preciseIdentifier" : "c:@SCNProgramMappingChannelKey"
  },
  "title" : "SCNProgramMappingChannelKey"
}
-->

# SCNProgramMappingChannelKey

The mapping channel to be used for a texture coordinate semantic.

```
let SCNProgramMappingChannelKey: String
```

## Discussion

This key can be used with the `options` dictionary for the [`setSemantic(_:forSymbol:options:)`](/documentation/SceneKit/SCNProgram/setSemantic(_:forSymbol:options:)) method, and applies only to the [`texcoord`](/documentation/SceneKit/SCNGeometrySource/Semantic-swift.struct/texcoord) semantic. Its value is an <doc://com.apple.documentation/documentation/Foundation/NSNumber> object containing an unsigned integer value.

A geometry can provide, and a shader program can use, more than one source of texture coordinates for each vertex. Use this key to specify which geometry source should provide data for each texture sampler vertex attribute declared in a shader program. The mapping channel for a geometry source corresponds to its index in the array returned by calling the [`sources(for:)`](/documentation/SceneKit/SCNGeometry/sources(for:)) method.

---

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)