---
title: USDPreviewSession
framework: spatialpreview
role: symbol
role_heading: Class
path: spatialpreview/usdpreviewsession
---

# USDPreviewSession

A session that enables you to present the contents of a Universal Scene Description (USD) stage.

## Declaration

```swift
final class USDPreviewSession
```

## Mentioned in

Bridging an application’s custom USD runtime to Spatial Preview

## Overview

Overview To create a USDPreviewSession, initialize one with a USDStage from USDKit: let observer = ConnectedSpatialEndpointObserver()

let session = USDPreviewSession(stage: usdStage)

// Wait for a device to become available. let endpoint = try await observer.endpoint

try await session.start(endpoint: endpoint) After start(endpoint:parameters:viewerOptions:) returns, the session’s state transitions to SpatialPreviewSessionState.connected and the device starts loading the USD content. Then use USDKit to make edits to the USDStage to update the content. Changes on visionOS are automatically synchronized back to USDKit in your macOS app.

## Topics

### Structures

- [USDPreviewSession.OptimizationSteps](spatialpreview/usdpreviewsession/optimizationsteps.md)
- [USDPreviewSession.SpatialViewerOptions](spatialpreview/usdpreviewsession/spatialvieweroptions.md)

### Initializers

- [init(stage:)](spatialpreview/usdpreviewsession/init(stage:).md)

### Instance Properties

- [events](spatialpreview/usdpreviewsession/events.md)
- [isPlaying](spatialpreview/usdpreviewsession/isplaying.md)
- [time](spatialpreview/usdpreviewsession/time.md)

### Instance Methods

- [start(endpoint:parameters:viewerOptions:)](spatialpreview/usdpreviewsession/start(endpoint:parameters:vieweroptions:).md)

### Enumerations

- [USDPreviewSession.Error](spatialpreview/usdpreviewsession/error.md)
- [USDPreviewSession.Event](spatialpreview/usdpreviewsession/event.md)
- [USDPreviewSession.OptimizationParameters](spatialpreview/usdpreviewsession/optimizationparameters.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [Escapable](swift/escapable.md)
- [Observable](observation/observable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [SpatialPreviewSession](spatialpreview/spatialpreviewsession.md)

## See Also

### Preview sessions

- [SpatialPreviewSession](spatialpreview/spatialpreviewsession.md)
- [DocumentPreviewSession](spatialpreview/documentpreviewsession.md)
