<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/CustomMaterial/textureCoordinateTransform-swift.property",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation14CustomMaterialV26textureCoordinateTransformAA0D14ParameterTypesV07TexturefG0Vvp"
  },
  "title" : "textureCoordinateTransform"
}
-->

# textureCoordinateTransform

A two-dimensional transformation RealityKit applies to the entity’s
primary texture coordinates.

```
var textureCoordinateTransform: CustomMaterial.TextureCoordinateTransform { get set }
```

## Discussion

An entity’s UV texture coordinates control how RealityKit materials map
image textures onto an entity. Use this property to transform the
texture coordinates and change the way this material maps its textures.
For example, you might change the scale of the UV coordinates to apply a
tiled, repeating pattern to the surface of your entity, or continuously
rotate or translate the texture coordinates to animate materials and
create special effects, such as fire or flowing liquids.

The following example shows how to set a material’s UV transformation:

```swift
let rotationRadians = Float(45.0) * .pi / 180 // 45 degrees converted to radians.
material.textureCoordinateTransform = .init(
    offset: [0.5, 0.5], scale: [0.5, 0.5],
    rotation: rotationRadians
)
```

The material’s shader function doesn’t have to do anything to apply the
transformation. When the shader calls `params.geometry().uv1()`,
RealityKit already transforms the returned coordinates.

---

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)