SoftwareJune 10, 2026

The Best visionOS 27 News Was Not in the Keynote. Safari Can Now Put a 3D World Behind Any Website.

By Nina Castillo
Staff Writer, VR.org
Share

Apple announced visionOS 27 on Monday, and most of the coverage, including ours, focused on the consumer features: the new Siri, spatial panoramas, curved windows. Fair enough, that was the keynote. But the developer sessions Apple published this week tell a different story, and for anyone who cares about the open web, the real headline was nowhere near the keynote stage. It was tucked into session 320: Safari on visionOS 27 can now drop a website visitor into a full 3D environment with a single JavaScript call.

Advertisement
Apple WWDC 2026 keynote title card
Image: Apple / YouTube

One Call to Leave the Browser

The new API is called requestImmersive, and Apple modeled it deliberately on the Fullscreen API that every web developer already knows. Where you would call requestFullscreen on a video element, you call requestImmersive on an HTML model element, and the 3D scene inside it expands beyond the browser bounds while the page stays visible. Apple's demo is a ticket sales site: the page previews the view from your chosen seat inline, you tap, and suddenly you are standing in the theater looking at the actual stage from the actual seat.

Two details make this feel like a real spec rather than a tech demo. First, the reference frames are clearly defined: an inline model is centered in its layer at CSS scale, while an immersive model anchors at the visitor's feet at real-world scale, opening from behind the Safari window so the page never gets buried. Second, there is a practical loading story. Set display: none on the model element and the asset download defers until someone actually requests immersion, so visitors who never enter the environment never pay the bandwidth cost.

And the bigger switch flipped quietly: Web Environments are now on by default in Safari on visionOS 27. A webpage can sit inside a 3D background the way a native app does, no flag, no opt-in. Combine that with Safari windows that now widen and curve, and the browser on this headset stopped being a flat rectangle this week.

Wait, Is This WebXR?

No, and the distinction is worth understanding. WebXR is the imperative path: you request a session, you run a render loop, you draw every frame yourself. The model element plus requestImmersive is declarative. You hand Safari a USDZ file and one API call, and the browser handles presentation, lighting, and scale. It is the same split the web has always had between building a video player from canvas and just writing a video tag.

For games and full applications, WebXR remains the tool, and with WebGPU now at baseline everywhere it is a genuinely strong one. But for the long tail of the web, the product pages, the museums, the real estate listings, the band that wants you inside the album art, this is the lowest-effort spatial web entry point anyone has shipped. A static site with a USDZ file and three lines of JavaScript is now an immersive experience on Vision Pro. That is the kind of on-ramp that actually grows an ecosystem.

Apple Vision Pro headset on display
Image: Apple Vision Pro / Wikimedia Commons

The Other Two Doors

The spatial web is one of three new entry points in this release, and the pattern across all of them is the same: Apple meeting existing content where it already lives instead of demanding a native rebuild.

The second door is Foveated Streaming, and it explains the plumbing under the X-Plane and iRacing launches we covered on Sunday. NVIDIA CloudXR now ships built into visionOS itself. A Windows PC runs an OpenXR application as the host, Vision Pro runs a lightweight receiver built on the new FoveatedStreamingSession API, and the stream compresses by gaze over plain Wi-Fi, spending its bits exactly where your eyes are pointed. Apple claims a team can get an existing OpenXR app streaming in about a day. The clever parts are in the integration: a message channel API carries data both directions, so a native SwiftUI menu can trigger a level load on the PC, and ARKit can align the streamed world to physical hardware. Supply a depth buffer and streamed content even occludes correctly against on-device RealityKit objects.

X-Plane 12 flight simulator artwork of a business jet taxiing on a runway
Image: X-Plane 12 / Laminar Research via Steam

The third door is Spatial Preview, a macOS 27 framework that lets any Mac app push spatial photos, PDFs, and live USD 3D scenes to a paired Vision Pro with zero visionOS code. Quick Look catches the content on the headset side, edits to a USD stage flow in both directions live, and SharePlay lets a second reviewer join the session. Apple name-checked Cinema 4D and SketchUp as the target workflow, and it is easy to see why: 3D asset review goes from a render-and-email loop to a shared room.

The Tooling Got Friendlier Too

For teams on the native path, Reality Composer Pro 3 is the day-to-day upgrade. It adds an AI assistant that generates 3D models from a text description, a node-based Script Graph for interaction logic with live preview on the headset, an Animation Graph state machine, and navigation meshes, all without opening Xcode. RealityKit itself picks up Gaussian splatting for scanned real-world objects, real-time cloth simulation, projective textures, and a custom reverb mesh that models how sound bounces off the materials in a room.

The Strategy Hiding in the SDK

Read together, the developer story is more interesting than the keynote suggested. Apple spent this cycle shrinking the distance between content that already exists and a spatial presentation of it: your website, your OpenXR build, your USD scenes on a Mac. Given the reporting that the Vision Pro hardware roadmap now points toward glasses rather than a successor headset, that emphasis looks less like a coincidence and more like a hedge. Native visionOS apps are bets on one device. A webpage that can request immersion is spatial content that travels to whatever Apple, or anyone else, ships next.

If you build for the web, the homework is short: grab the visionOS 27 developer beta, put a USDZ in a model element, and call requestImmersive. The spatial web has been promised for years. This is the first version of it that costs an afternoon.

Share
Advertisement