---
title: Spatial Preview
framework: spatialpreview
role: collection
role_heading: Framework
platforms: [macOS 27.0+, visionOS 27.0+]
path: spatialpreview
---

# Spatial Preview

Preview spatial content from a macOS app on a connected visionOS device.

## Overview

Overview Use Spatial Preview to work with spatial content from a macOS app to a connected visionOS device in real time. The framework centers on two abstractions: SpatialPreviewEndpoint, which identifies the target visionOS device, and SpatialPreviewSession, which manages the active preview connection and the flow of content. The USDPreviewSession and DocumentPreviewSession objects adopt SpatialPreviewSession and support visionOS previews of Universal Scene Description (USD) content and general file content, respectively. USDKit is recommended for Spatial Preview because it works without any additional setup. If you want to use your own OpenUSD library, see the documentation below on how to bridge OpenUSD to USDKit.

## Topics

### Essentials

- [Working with content from your Mac app using Spatial Preview](spatialpreview/working-with-content-from-your-mac-app-using-spatial-preview.md)
- [Bridging an external USD runtime to Spatial Preview](spatialpreview/bridging-an-external-usd-runtime-to-spatial-preview.md)

### Nearby devices

- [SpatialPreviewEndpoint](spatialpreview/spatialpreviewendpoint.md)
- [SpatialPreviewDevicePicker](spatialpreview/spatialpreviewdevicepicker.md)
- [ConnectedSpatialEndpointObserver](spatialpreview/connectedspatialendpointobserver.md)

### Preview sessions

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

### Session state and errors

- [SpatialPreviewSessionState](spatialpreview/spatialpreviewsessionstate.md)
- [SpatialPreviewSessionError](spatialpreview/spatialpreviewsessionerror.md)
- [ConnectedSpatialEndpointObserver.UnavailableError](spatialpreview/connectedspatialendpointobserver/unavailableerror.md)
- [USDPreviewSession.Error](spatialpreview/usdpreviewsession/error.md)
- [USDPreviewSession.Event](spatialpreview/usdpreviewsession/event.md)
