<!--
{
  "availability" : [
    "Mac Catalyst: 27.0.0 -",
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "USDKit",
  "identifier" : "/documentation/USDKit",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "USDKit"
    ],
    "preciseIdentifier" : "USDKit"
  },
  "title" : "USDKit"
}
-->

# USDKit

Author, compose, and manipulate Universal Scene Description content from Swift.

## Overview

USDKit is the Swift API for authoring, composing, and manipulating Universal Scene Description (USD) content. USD is an open scene-interchange format originated by Pixar and now stewarded by the Alliance for OpenUSD; it represents 3D scenes, assets, and animations across digital-content-creation tools and runtime engines. USDKit exposes a curated subset of OpenUSD through a hand-written, ABI-stable Swift surface.

The framework centers on three core types. A [`USDLayer`](/documentation/USDKit/USDLayer) represents a single USD document — either a file on disk or an anonymous in-memory document — and serves as the unit of scene description. A [`USDStage`](/documentation/USDKit/USDStage) assembles a hierarchy from one or more layers by applying USD’s composition rules to a root layer, producing the runtime view of a scene. Each node in that hierarchy is a [`USDPrim`](/documentation/USDKit/USDPrim), which carries a path, attributes, relationships, references, and child primitives. Because multiple layers can define or override the same primitive, the stage composes the contributions from each layer to produce the final scene.

Typical work in USDKit includes generating USD documents procedurally, extracting information from existing assets, applying bulk transformations across composed scenes, and building editors or pipeline tools. The framework also provides the supporting types that authoring depends on — type-erased value containers, interned string tokens, and transform operations — along with a RealityKit integration layer for rendering and playing composed scenes inside an entity hierarchy.

## Topics

### Essentials

[`USDStage`](/documentation/USDKit/USDStage)

A 3D scene composed from one or more Universal Scene Description (USD) documents.

[`USDPrim`](/documentation/USDKit/USDPrim)

A single node in a stage’s scene hierarchy that holds attributes, relationships, metadata, and child prims.

[`USDLayer`](/documentation/USDKit/USDLayer)

A single USD document that stores scene description in a file or in memory.

### Values and tokens

[`USDValue`](/documentation/USDKit/USDValue)

A type-erased container for a value stored in a Universal Scene Description
file.

[`USDValueProtocol`](/documentation/USDKit/USDValueProtocol)

A type that can be wrapped in a [`USDValue`](/documentation/USDKit/USDValue).

[`USDToken`](/documentation/USDKit/USDToken)

An interned, efficiently compared string that names prims, properties, and other scene-description identifiers.

### Transforms

[`USDTransformOperation`](/documentation/USDKit/USDTransformOperation)

A single transform applied to a prim, such as a translation, rotation, scale, or matrix.

### RealityKit rendering and playback

[`USDStageComponent`](/documentation/USDKit/USDStageComponent)

A component that renders a USD stage as RealityKit entities.

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

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

### Render data

### Render data identifiers

### Render diagnostics

[`USDRenderError`](/documentation/USDKit/USDRenderError)

An error produced when rendering a USD stage fails.

### Legacy types



---

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)