<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "USDKit",
  "identifier" : "/documentation/USDKit/USDPlayer",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "USDKit",
      "RealityKit"
    ],
    "preciseIdentifier" : "s:18_USDKit_RealityKit9USDPlayerC"
  },
  "title" : "USDPlayer"
}
-->

# USDPlayer

Drives timeline playback of a USD stage and produces per-frame render data.

```
final class USDPlayer
```

## Overview

An object that drives timeline playback of a USD stage in RealityKit.

## Topics

### Creating a player

[`convenience init(stage: USDStage)`](/documentation/USDKit/USDPlayer/init(stage:))

Creates a Metal-enabled player for the given USD stage.

[`convenience init(stage: USDStage, gpuFamily: MTLGPUFamily)`](/documentation/USDKit/USDPlayer/init(stage:gpuFamily:))

Creates a Metal-less player for the given USD stage.

### Driving playback

[`func update(timeCode: USDStage.TimeCode) -> sending USDPlayer.FrameUpdate?`](/documentation/USDKit/USDPlayer/update(timeCode:))

Updates the stage to `timeCode` and returns a [`USDPlayer.FrameUpdate`](/documentation/USDKit/USDPlayer/FrameUpdate) describing all scene changes.

[`struct FrameUpdate`](/documentation/USDKit/USDPlayer/FrameUpdate)

A snapshot of all mesh, material, texture, and deformation changes from the last update.

### Supplying lighting

[`func importCustomIBLTexture(data: Data) throws -> USDPlayer.TextureData`](/documentation/USDKit/USDPlayer/importCustomIBLTexture(data:))

Imports a custom IBL texture.

### Structures

[`struct DeformationData`](/documentation/USDKit/USDPlayer/DeformationData)

Deformation data for a single deformable mesh.

[`struct DeformationID`](/documentation/USDKit/USDPlayer/DeformationID)

Deformation resource identifier.

[`struct MaterialData`](/documentation/USDKit/USDPlayer/MaterialData)

Material data from a USD material prim.

[`struct MaterialID`](/documentation/USDKit/USDPlayer/MaterialID)

Material resource identifier.

[`struct MeshData`](/documentation/USDKit/USDPlayer/MeshData)

Mesh geometry data from a USD mesh prim.

[`struct MeshID`](/documentation/USDKit/USDPlayer/MeshID)

Mesh resource identifier.

[`struct TextureData`](/documentation/USDKit/USDPlayer/TextureData)

Texture data from a texture asset referenced by a material prim.

[`struct TextureID`](/documentation/USDKit/USDPlayer/TextureID)

Texture resource identifier.

[`struct TextureLevelInfo`](/documentation/USDKit/USDPlayer/TextureLevelInfo)

Byte-layout descriptor for a single mip level within a [`USDPlayer.TextureData`](/documentation/USDKit/USDPlayer/TextureData).

---

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)