2026 Graphics & GamesSpatial Computing
WWDC26 · 14 min · Graphics & Games / Spatial Computing
Use foveated streaming to bring immersive content to visionOS
Find out how foveated streaming delivers remotely rendered scenes to Apple Vision Pro in full fidelity. Explore how this framework combines native visionOS capabilities with third-party streaming technologies completely wirelessly, demonstrated using an OpenXR scene and NVIDIA CloudXR. Learn about the FoveatedStreaming framework, integration with the NVIDIA CloudXR SDK, and how dynamically foveated streaming provides benefits while still preserving privacy.
Watch at developer.apple.com ↗Chapters
Code shown on screen · 4 snippets
Connect to a streaming endpoint
// Connect to a streaming endpoint
import SwiftUI
import FoveatedStreaming
struct ConnectView: View {
let session: FoveatedStreamingSession
var body: some View {
Button("Connect") {
Task {
try await session.connect()
}
}
}
} Display a Foveated Streaming session in your immersive space
// Display a Foveated Streaming session in your immersive space
import SwiftUI
import FoveatedStreaming
@main struct FoveatedStreamingSampleApp: App {
private let session = FoveatedStreamingSession()
var body: some SwiftUI.Scene {
ImmersiveSpace(foveatedStreaming: session)
}
} Compose SwiftUI content with Foveated Streaming
// Compose SwiftUI content with Foveated Streaming
import SwiftUI
import FoveatedStreaming
@main struct FoveatedStreamingSampleApp: App {
private let session = FoveatedStreamingSession()
private let appModel = AppModel()
var body: some SwiftUI.Scene {
Window("Main", id: appModel.mainWindowId) {
ContentView(session: session)
.environment(appModel)
.environment(session)
// ...
}
ImmersiveSpace(foveatedStreaming: session) {
SpatialContainer {
ReopenMainWindowView().environment(appModel)
TransformStreamWidgetView().environment(session)
}
}
}
} Compose RealityKit content with Foveated Streaming
// Compose RealityKit content with Foveated Streaming
import SwiftUI
import RealityKit
import FoveatedStreaming
@main struct FoveatedStreamingSampleApp: App {
private let session = FoveatedStreamingSession()
private let appModel = AppModel()
var body: some SwiftUI.Scene {
ImmersiveSpace(foveatedStreaming: session) {
RealityView { content in
// ...
}
}
}
} Resources
- Analyzing the performance of a foveated streaming session
- Establishing foveated streaming sessions with Apple Vision Pro
- Streaming a CloudXR application to Apple Vision Pro with foveation
- Creating a foveated streaming client on visionOS
- Foveated Streaming
- StreamingSession: Streaming immersive content from a CloudXR™ application to visionOS and iOS
Related sessions
-
33 min