Streaming Omniverse to Apple Vision Pro and iPad: CloudXRKit Client Overview#
Note
Applies to: Spatial Extensions, Kit 109.0.3+, CloudXR 6
The Apple client path uses CloudXRKit, a native Swift framework, to stream spatial XR content from an Omniverse Kit server to Apple Vision Pro and iPad. The reference client application is the cloudxr-apple-generic-viewer.
Supported Devices#
visionOS 2.4+
Immersive headset (6DoF)
Native hand tracking
Spatial audio
Eye tracking
iPadOS 18.4+
Tablet form factor
Touch interaction
ARKit integration
Architecture#
The Apple client connects directly to the Kit server’s CloudXR 6 (Native) runtime. The connection carries:
Server to Client
Rendered stereo frames
Spatial audio
Opaque data channel messages
Client to Server
Head pose
Hand tracking data
Opaque data channel messages
Key Features#
- 6DoF Head Tracking
Full positional and rotational tracking on Vision Pro.
- Hand Tracking
Native visionOS hand tracking with optional visualization (finger joint cubes).
- Opaque Data Channels
Bidirectional messaging through the
MessageChannelAPI for application-level communication (JSON payloads).- Audio Streaming
Spatial audio from the server (Windows servers only).
- SwiftUI Interface
Native UI for configuration, connection, and in-session controls.
- Resolution Presets
Configurable streaming resolution for bandwidth/quality tradeoff.
- GDN Support
Connect through the NVIDIA Graphics Delivery Network (GDN) for cloud deployments. GDN hosts the Kit application on NVIDIA-managed GPU infrastructure and streams to the client over the internet, eliminating the need for a local server workstation. In the generic viewer, select a GDN zone instead of entering a manual IP address. Network requirements for GDN differ from local streaming — a minimum of 100 Mbps downstream and 20 Mbps upstream is recommended.
Generic Viewer App Structure#
The generic viewer provides a complete reference implementation:
Component |
Description |
|---|---|
|
App entry point, registers CloudXRKit systems |
|
Session state management |
|
Connection configuration UI (IP, zone, auth, resolution) |
|
Opaque data channel testing UI (Action buttons) |
|
visionOS immersive rendering using RealityKit |
|
iOS/iPadOS streaming rendering |
Kit Server Requirements#
The Kit server must be configured with:
XR extensions enabled (refer to Create a Kit XR App)
OpenXR Runtime set to
CloudXR 6 (Native)XR started – click Start XR in the XR panel
Important
Use CloudXR 6 (Native) for Apple clients. The CloudXR 6 (WebRTC) runtime is for Meta/web clients and will not work with CloudXRKit.
Next Steps#
Clone, configure Xcode, and build the app for Vision Pro or iPad.
Configure and connect to your Kit XR server.
Ready-to-use Swift snippets for gestures, messaging, portals, and more.