---
title: USDStage
framework: usdkit
role: symbol
role_heading: Structure
path: usdkit/usdstage-4sfi1
---

# USDStage

A composed, runtime view of a USD scene assembled from one or more layers.

## Declaration

```swift
struct USDStage
```

## Topics

### Creating a stage

- [init(displayName:loadingPayloads:)](usdkit/usdstage-4sfi1/init(displayname:loadingpayloads:).md)
- [init(string:loadingPayloads:)](usdkit/usdstage-4sfi1/init(string:loadingpayloads:).md)
- [init(_:type:loadingPayloads:)](usdkit/usdstage-4sfi1/init(_:type:loadingpayloads:).md)

### Opening a stage

- [open(rootLayer:sessionLayer:options:)](usdkit/usdstage-4sfi1/open(rootlayer:sessionlayer:options:).md)
- [open(_:sessionLayer:options:)](usdkit/usdstage-4sfi1/open(_:sessionlayer:options:).md)
- [open(_:loadingPayloads:)](usdkit/usdstage-4sfi1/open(_:loadingpayloads:).md)
- [USDStage.OpenOptions](usdkit/usdstage-4sfi1/openoptions.md)
- [USDStage.InitialLoadRule](usdkit/usdstage-4sfi1/initialloadrule.md)

### Saving and reloading

- [save()](usdkit/usdstage-4sfi1/save().md)
- [saveSessionLayers()](usdkit/usdstage-4sfi1/savesessionlayers().md)
- [reload()](usdkit/usdstage-4sfi1/reload().md)

### Accessing prims and properties

- [prim(at:)](usdkit/usdstage-4sfi1/prim(at:).md)
- [object(at:)](usdkit/usdstage-4sfi1/object(at:).md)
- [property(at:)](usdkit/usdstage-4sfi1/property(at:).md)
- [attribute(at:)](usdkit/usdstage-4sfi1/attribute(at:).md)
- [relationship(at:)](usdkit/usdstage-4sfi1/relationship(at:).md)
- [pseudoRoot](usdkit/usdstage-4sfi1/pseudoroot.md)
- [defaultPrim](usdkit/usdstage-4sfi1/defaultprim.md)
- [hasDefaultPrim](usdkit/usdstage-4sfi1/hasdefaultprim.md)
- [USDStage.Object](usdkit/usdstage-4sfi1/object.md)

### Authoring prims

- [definePrim(at:type:)](usdkit/usdstage-4sfi1/defineprim(at:type:).md)
- [overridePrim(at:)](usdkit/usdstage-4sfi1/overrideprim(at:).md)
- [removePrim(at:)](usdkit/usdstage-4sfi1/removeprim(at:).md)

### Traversing the scene

- [descendants](usdkit/usdstage-4sfi1/descendants.md)
- [descendants(where:)](usdkit/usdstage-4sfi1/descendants(where:).md)
- [allDescendants](usdkit/usdstage-4sfi1/alldescendants.md)

### Managing layers

- [rootLayer](usdkit/usdstage-4sfi1/rootlayer.md)
- [muteLayer(_:)](usdkit/usdstage-4sfi1/mutelayer(_:).md)
- [unmuteLayer(_:)](usdkit/usdstage-4sfi1/unmutelayer(_:).md)
- [isLayerMuted(_:)](usdkit/usdstage-4sfi1/islayermuted(_:).md)

### Setting the edit target

- [editTarget](usdkit/usdstage-4sfi1/edittarget-swift.property.md)
- [USDStage.EditTarget](usdkit/usdstage-4sfi1/edittarget-swift.struct.md)

### Working with time codes

- [timeCodeRange](usdkit/usdstage-4sfi1/timecoderange.md)
- [timeCodesPerSecond](usdkit/usdstage-4sfi1/timecodespersecond.md)
- [USDStage.TimeCode](usdkit/usdstage-4sfi1/timecode.md)

### Reading stage metrics

- [metersPerUnit](usdkit/usdstage-4sfi1/metersperunit.md)
- [hasAuthoredMetersPerUnit](usdkit/usdstage-4sfi1/hasauthoredmetersperunit.md)
- [upAxis](usdkit/usdstage-4sfi1/upaxis.md)
- [fallbackUpAxis](usdkit/usdstage-4sfi1/fallbackupaxis.md)

### Observing changes

- [addObserver(for:using:)](usdkit/usdstage-4sfi1/addobserver(for:using:).md)
- [USDStage.Notice](usdkit/usdstage-4sfi1/notice.md)
- [USDStage.ObjectsDidChange](usdkit/usdstage-4sfi1/objectsdidchange.md)
- [USDStage.ObservationToken](usdkit/usdstage-4sfi1/observationtoken.md)

### Exporting the stage

- [exportPackage(to:options:)](usdkit/usdstage-4sfi1/exportpackage(to:options:)-6s2wk.md)
- [exportPackage(to:options:)](usdkit/usdstage-4sfi1/exportpackage(to:options:)-2x7yr.md)
- [exportFlattened(to:)](usdkit/usdstage-4sfi1/exportflattened(to:)-98kpc.md)
- [exportFlattened(to:)](usdkit/usdstage-4sfi1/exportflattened(to:)-6717d.md)
- [USDStage.ExportOptions](usdkit/usdstage-4sfi1/exportoptions.md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)

## See Also

### Essentials

- [USDPrim](usdkit/usdprim.md)
- [USDLayer](usdkit/usdlayer.md)
