WWDC 2026 brought a lot of visionOS updates, but the one that’s taken the longest to sink in for developers is Spatial Scenes. At first glance it reads like an ambient background feature — the kind of thing that makes product demos look good and matters less in practice. After spending time with the developer previews and the API documentation, it’s clear that framing undersells it. Spatial Scenes is Apple’s answer to a question the platform has been struggling with since launch: how do you make the environment that surrounds your app feel as intentional and polished as the app itself?
What Spatial Scenes Actually Does
The core capability is AI-generated 3D environment synthesis, running on-device using the Apple Vision Pro’s R2 chip (or R2X in second-generation hardware). Rather than loading a pre-authored 360-degree HDRI or a fixed 3D scene, the system generates environments dynamically based on parameters your app provides — time of day, mood, activity type, contextual signals from the user’s surroundings.
The generation model is trained on a large library of spatial environments across different categories: natural outdoor settings, architectural interiors, abstract spaces, and scene types specific to use cases like productivity, creativity, meditation, and entertainment. Your app selects a scene taxonomy and optionally provides additional constraints — a productivity app might request a quiet library atmosphere during focus sessions and shift to something more energetic in a brainstorming mode.
Crucially, Spatial Scenes adapts to the user’s passthrough environment. The system uses depth data from the headset cameras to understand the physical space the user is in — a small room versus an open space, whether there are windows, the general lighting conditions — and generates a complementary scene rather than one that clashes with what’s actually there. This is a genuinely new capability. Previous visionOS environment features were largely static or operated independently of the room the user was sitting in.
The Developer API
Apple introduced three main entry points for Spatial Scenes in visionOS 26.
The highest-level API is SpatialSceneContext, accessible from SwiftUI and RealityKit. You declare a scene context for your app with a style, optional mood parameters, and an adaptation policy (how aggressively the scene should respond to user context changes). The system handles generation, rendering, and blending between scene states. Most apps that just want a polished environment rather than fine-grained control will stay at this level.
SpatialSceneContext(
style: .naturalOutdoor,
mood: .focused,
adaptation: .passive
) {
// Your app content
}
The mid-level API is SpatialSceneComposer, which gives you more control over scene elements: you can specify anchor points in the generated scene where you want specific assets to appear, request particular lighting conditions, and blend custom RealityKit entities into the generated environment. This is the tier for apps that want a generated environment but need their own content — a spatial design tool that wants a workshop-like environment with specific surface textures to work against, for example.
The low-level API is SpatialSceneGenerator — direct access to the generation model with the ability to provide text prompts, negative constraints, and seed values for reproducible outputs. This is where it gets interesting for developers building immersive experiences rather than productivity apps. A game or interactive narrative can generate specific environments from descriptive prompts and iterate on them at runtime in response to story events.
Apple has been careful to note that the text-prompt interface goes through the same privacy-preserving on-device processing as other AI features — no scene descriptions or user context data leave the device.
What’s Different from Environments in visionOS 2 and 3
Previous visionOS releases had Environments — pre-authored 360-degree scenes that users could select to surround their workspace. They were static and curated: Bora Bora, Yosemite, Mount Hood. Third-party developers could submit custom environments through the App Store, but they were still pre-authored assets rather than generative content.
Spatial Scenes is architecturally different. The environments are generated, not loaded. They adapt in real time. And critically, the API makes them a programmable layer of the visionOS stack rather than a user-facing system feature. Apps can control the environment around their content rather than just putting content in front of whatever environment the user has set at the system level.
There’s also a new Shared Scenes capability for multi-user experiences — when multiple Vision Pro users are in the same SharePlay session, they can inhabit a shared generated environment that’s synchronised across devices. The generation runs independently on each device but uses a shared seed and context so the outputs are substantially similar without requiring scene data to be streamed between users.
Where Third-Party Developers Can Build
The most interesting opportunities from a developer perspective are at the intersection of content type and environment adaptation.
Educational and training applications can generate contextually appropriate environments for different learning scenarios — a medical training app that creates an appropriate clinical setting for different types of procedures, adapting lighting and environmental details to support the specific training content being delivered.
Creative tools — 3D modelling, music production, writing — can build environment modes that respond to the user’s workflow state, shifting from exploratory environments during open-ended creation to focused environments during refinement work.
Meditation and wellbeing apps, which have been a strong category on Vision Pro since launch, now have generative environments rather than looping pre-authored scenes. The ability to generate new scenes rather than cycling through a fixed library addresses one of the main user complaints about the existing Mindfulness app.
Gaming is the most technically complex application. The SpatialSceneGenerator API gives enough control to use environmental generation as a narrative tool — a horror game that generates progressively more unsettling environments as tension builds, or an exploration game where terrain and setting are generated to match the narrative context. The constraint is latency: scene generation takes 2-4 seconds on current hardware, so it needs to be triggered proactively rather than in response to immediate user actions.
The Catch
Spatial Scenes requires Apple Vision Pro (first generation or later) running visionOS 26. It doesn’t work on the Vision Pro Lite (announced earlier this year with a different chip architecture) without significant quality degradation, and Apple hasn’t committed to a version for that hardware. For developers building apps with Spatial Scenes as a core feature, this means targeting a smaller device pool than the full visionOS installed base.
The generation model also has some notable constraints in its current beta form. It handles natural environments and abstract spaces well but struggles with specific architectural styles — a request for “brutalist concrete interior” generates something plausibly in that direction but not with high fidelity. Highly specific prompt-driven generation at the low-level API is more hit-and-miss than the taxonomy-based higher-level options.
These are beta limitations that are likely to improve through the developer preview period before visionOS 26 ships this autumn. But if your app concept depends on precise prompt-driven environmental control, it’s worth testing early against the beta SDK rather than assuming launch quality will be substantially different from what Apple demoed at WWDC.
The spatial computing environment has changed significantly since Vision Pro launched in 2024. Spatial Scenes is one of the clearest signals yet that Apple is treating the space around the display as a first-class design surface, not just a backdrop.