I visited the exact same world from both Meta Quest 3 and Apple Vision Pro.
Built from just 431 lines of HTML, immersive-hands.html is an example of one of VR's truly cross-compatible destinations demonstrating the ultimate promise of WebXR. For those unfamiliar, WebXR is a standard for Web browsers like Safari and the Meta Quest Browser allowing them to display fully immersive worlds in VR mode.
Meta's support is turned on automatically for Quest headsets and in Vision Pro, on visionOS 1.1, I turned on Apple's early version of this feature by visiting an advanced menu in the settings app. If you happen to be reading this in a Vision Pro with WebXR turned on, or in another headset like Pico or Quest, you can visit this URL sample to try it out for yourself.
For those of you outside VR or unwilling to make the quick trip over to the sample – here's what immersive-hands.html looks like on Apple Vision Pro:
And on Meta Quest 3:
There's a number of other WebXR samples and sites to investigate, but not all appeared to work on Apple Vision Pro right now. Some websites we've previously tested on Quest appeared to have been redirected or taken down, another looked for tracked controllers but didn't find any on Vision Pro, and another crashed the Safari browser window.
Still, seeing features like hand tracking available to a single world in both Vision Pro and Quest is an interesting moment for WebXR. Some Web engineers have been dreaming of this sort of thing for decades and, while impressive, this is still just the beginning of VR in browsers.
It's a promising start, though, and if you know of any innovations happening in the WebXR space please email tips@uploadvr.com or use our Contact Us page to reach out.
Apple has confirmed that Safari on Vision Pro will support WebXR, a web-standard that allows immersive experiences to be delivered through the browser.
In a somewhat surprising move, Apple confirmed that Safari on Vision Pro will support WebXR. Prior to the reveal of the headset, it was an open question whether the company would entertain the idea of XR experiences through the browser, and even more so if the company would adopt the relatively new WebXR standard. But now Apple has confirmed that Safari on Vision Pro will indeed support WebXR.
The company confirmed as much in its WWDC 2023 developer talk titled Meet Safari for Spatial Computing, in which the Apple explained the version of Safari running on Vision Pro is “truly is Safari with the same WebKit engine underneath, plus some thoughtful additions for [Vision Pro].”
Thanks to Safari on visionOS being a fully-featured version of the browser, existing websites should work exactly as expected, the company says. But to go beyond flat web pages, Safari on visionOS includes support for WebXR for immersive experriences and the new <model> tag for 3D models.
For the time being, WebXR capabilities on Safari for visionOS are still hidden through a developer toggle, but once enabled it will support the ‘immersive-vr’ session type, and the ‘hand-tracking’ feature for user input.
WebXR allows developers to build fully immersive content that can be delivered through a web browser. It’s possible to create fully interactive VR games and experiences, like this Beat Saber clone, which can run across various headsets and browsers using the same code, just like a web page can render the same way between different devices and browsers.
Apple plans to make WebXR a mainline feature in visionOS Safari after more time collaborating with the rest of the industry on the WebXR standard.
With Apple now officially supporting WebXR, the standard can claim truly widespread support; WebXR is now supported, at least in some capacity, by Chrome, Firefox, Opera, Edge, and Safari, as well as the Quest browser, Pico browser, Magic Leap Browser, Chrome for Android, Samsung Internet, Opera Mobile, and Firefox for Android. Though like visionOS Safari, some of these browsers have kept the feature as a developer preview for now.
In addition to WebXR, Apple is also adding support for the in-development <model> specification, a standardized approach to adding 3D models to web pages for things like previewing clothing, furniture, and other products.
The goal is to make embedding 3D models into web pages as easy as embedding photos or videos. For the time being the feature will remain behind a developer toggle.
Two open-source demos show how WebXR could be used to make full-fledged games.
WebXR is an open standard API that enables webpages to display immersive content on headsets that tracked controllers can interact with. WebXR experiences are rendered with the WebGL API, which is based on OpenGL ES. You can access WebXR apps near-instantly via a browser like any other web app. No installation or updates are required, and the developer doesn’t need approval from a central app store authority.
Meta’s Project Flowerbed is a game where you use seeds to plant and grow flowers, trees, and other plants. It features a user interface, teleportation, an in-world camera, spatial audio, and appealing graphics with PBR materials, detailed geometry, and real-time lighting.
The source code for Project Flowerbed is accessible on GitHub, and Meta’s developer blog post explains the technology stack used. It uses the most popular WebGL library for rendering, three.js, with the third-party three-mesh-ui extension for the world-space user interface and three-mesh-bvh for raycasting and collisions. 3D assets are in Khronos’ glTF file format, while the howler.js library is used for spatial audio. Meta developed its own entity-component system (ECS) for logic, as well as other systems like a JSON to UI panel importer, all detailed in the blog post.
Creative agency Paradowski Creative also released the source code for their WebXR putting game this week, Above Par-adowski WebXR Mini-Golf. It also uses three.js, combined with the popular A-Frame entity component system and NVIDIA’s PhysX physics engine running in the browser via WebAssembly. While Project Flowerbed runs at 72Hz, WebXR Mini-Golf runs at 90Hz. Since it launched in November, Paradowski says WebXR Mini-Golf has been played by more than 70,000 VR users.
Paradowski Creative is working on a second WebXR experience called The Escape Artist, an escape room game with puzzle mechanics slated for release next month.
WebXR on Quest still lacks one key ingredient, however: convenient payments. The critical advantage of publishing a native application on App Lab is that implementing monetization is trivial, either by charging for the app or via managed in-app payments.
Meta recently added the ability for websites to add a button to let you remotely launch a URL on your Quest, including WebXR experiences, and Project Flowerbed leverages this. To try it on your headset, just go to the experience’s web page on the device you’re reading this article on and click ‘Send to Headset’ – no need to search for and find it in the Quest browser.
Above Par-adowski WebXR Mini-Golf doesn’t use this feature, but you can easily find it by Googling ‘WebXR minigolf’ in the Quest browser.
In an ongoing shift away from a somewhat proprietary development environment on its first headset, Magic Leap has committed to bringing OpenXR support to its Magic Leap 2 headset later this year.
Although Magic Leap 2 is clearly the successor to Magic Leap 1, the goal of the headsets are quite different. With the first headset the company attempted to court developers who would build entertainment and consumer-centric apps, and had its own ideas about how its ‘Lumin OS’ should handle apps and how they should be built.
After significant financial turmoil and then revival, the company emerged with new CEO and very different priorities for Magic Leap 2. Not only would the headset be clearly and unequivocally positioned for enterprise use-cases, the company also wants to make it much easier to build apps for the headset.
To that end Magic Leap’s VP of Product Marketing & Developer Programs, Lisa Watts, got on stage at week’s AWE 2022 to “announce and reaffirm to all of you and to the entire industry [Magic Leap’s] support for open standards, and making our platform very easy to develop for.”
In the session, which was co-hosted by Chair of the OpenXR Working Group, Brent Insko, Watts reiterated that Magic Leap 2 is built atop an “Android Open Source Project-based OS interface standard,” and showed a range of open and accessible tools that developers can currently use to build for the headset.
Toward the end of the year, Watts shared, the company expects Magic Leap 2 to also include support for OpenXR, Vulkan, and WebXR.
OpenXR is a royalty-free standard that aims to standardize the development of VR and AR applications, making hardware and software more interoperable. The standard has been in development since 2017 and is backed by virtually every major hardware, platform, and engine company in the VR industry, and a growing number AR players.
In theory, an AR app built to be OpenXR compliant should work on any OpenXR compliant headset—whether that be HoloLens 2 or Magic Leap 2—without any changes to the application.
OpenXR has picked up considerable steam in the VR space and is starting to see similar adoption momentum in the AR space, especially with one of the sector’s most visible companies, Magic Leap, on board.
Mozilla is shutting down its made-for-VR web browser, Firefox Reality, and handing off the project to third-party team Igalia.
Mozilla launched Firefox Reality back in 2018 on a host of early standalones, including Oculus Go, Lenovo Mirage Solo, and Vive Focus. In the following years, Mozilla also brought it to Quest and PC VR headsets.
Firefox Reality is set to be removed from app stores within the coming weeks, Mozilla says in a blog post, with the newly announced Igalia Wolvic taking its place starting as soon as next week.
Wolvic is based on Firefox Reality’s source code, which includes the same native support for WebXR content and privacy/security that Mozilla has touted in the past with Firefox on other platforms.
Igalia says in a blog post that its first focus is on serving Android-based, standalone XR systems and HarmonyOS tethered systems, which includes Meta Quest, Huawei VR Glass, HTC Vive Focus, Pico Interactive, and Lynx. The company says its also hoping to support Qualcomm and Lenovo XR devices in the future.
“The Firefox Reality project was created […] to give users some choice and ensure that open and unlimited access to the web remains strong on these devices,” said Brian Kardell, Developer Advocate at Igalia. “These ideas are core to what we do at Igalia, so we’re thrilled to be able to carry the torch forward in leveraging that work to create a new browser, Wolvic. Together, we will help to ensure that the web ecosystem remains healthy.”
Igalia is consultancy studio based in Spain that’s focused on maintaining and promoting Free Software. The team says its developing via this GitHub repository, asking for help from the community to file any issues there that may arise.
The Firefox Reality browser project is being continued by an ‘open source consultancy’ as Wolvic.
Firefox Reality is a web browser for standalone VR and AR headsets, a project of the XR division of Mozilla Labs. It first launched on Oculus Go’s store in 2018. In 2019 it launched on Quest and HoloLens 2, and was built-in to HTC Vive Focus. But just a year later in 2020, Mozilla laid off 250 employees including staff working on Firefox Reality.
‘Open source software consultancy’ Igalia says it took over stewardship of Firefox Reality, and is now calling it Wolvic – with a beta release coming next week. It describes Wolvic as “a new branch of the evolutionary tree of the Firefox Reality Browser”. Former Mozilla Labs engineer Imanol Fernandez is among the staff now at Igalia working on the project.
While Firefox Reality is still available on Quest, Go, HoloLens 2, HTC, and Pico devices it hasn’t been updated in quite a while. Igalia says with Wolvic it will give the browser “new investment, updates and nurturing”.
Like Quest’s built in Oculus Browser, Wolvic supports WebXR content, meaning you can use it to enter immersive web experiences and 360 degree videos. It features a Privacy Mode, voice Search, Movie Mode, tab resizing, and Igalia plans to continue to add new features.
A beta will launch next week on Quest and Huawei VR Glass, with support for HTC Vive Focus, Pico Neo, and Lynx planned for future.
Der Entwickler Maximiliano Firtman hat in der neuen iOS 15.4 Beta mehrere Einträge zu einem Support für WebXR entdeckt.
WebXR Support in iOS Beta von Apple entdeckt
WebXR ist ein Standard, mit dem VR- und AR-Inhalte direkt über den Browser abgerufen werden können. Es ist also keine Installation der Inhalte notwendig. Dementsprechend handelt es sich meist um simple und kleine Anwendungen oder abrufbare Informationen, die über WebXR abgerufen werden können.
Während andere Browser schon lange WebXR beherrschen, zieht Apple nun scheinbar nach. In der Beta sollen folgende experimentelle Feature enthalten sein:
WebXR Augmented Reality Mode
WebXR Device API
WebXR Gamepads module
WebXR Hand Input Module
Maximiliano Firtman sagt, dass diese WebXR-Funktionen für iOS nur mit einem externen Gerät verwendbar seien. Dementsprechend gehe er davon aus, dass sich Apple mit der Integration auf die Veröffentlichung einer eigenen XR-Brille vorbereite. Interessant an dieser Einschätzung ist, dass Apple scheinbar keine Pläne verfolgt, WebXR auch für AR über das iPhone oder iPad zu verwenden.
Wann tatsächlich eine VR- oder AR-Brille von Apple erscheint, ist weiterhin völlig offen. Sicher ist aber seit Jahren, dass Apple an diversen VR und AR-Produkten arbeitet. Durch den Erfolg von Meta mit der Meta Quest 2 könnte der Druck auf eine Veröffentlichung für Apple aber langsam steigen, falls das Unternehmen nicht einen wichtigen Trend verschlafen möchte.
As the most valuable tech company in the world, decisions that Apple makes tend to reverberate throughout the industry. Recent evidence strongly points to Apple planning to support WebXR on Safari and possibly its forthcoming XR headset, which would widen consensus on the standard.
WebXR is a web standard designed to make it possible for developers to deliver AR and VR experiences straight from a web browser. While Safari on iOS devices had some basic support for the precursor standard (WebVR) in the Cardboard era, Apple hasn’t done much to adopt the modern incarnation of WebXR.
But that looks to be soon changing. Developer Maximiliano Firtman spotted four new experimental WebXR features in the latest version of Safari in iOS 15.4 beta:
WebXR Augmented Reality Mode
WebXR Device API
WebXR Gamepads module
WebXR Hand Input Module
Firtman notes that the features, as they exist presently, appear to support external devices only; and postulates “this is preparing the scenario for Apple’s upcoming goggles or headsets.”
This is somewhat surprising considering that Apple has been pushing AR on its iOS devices and would presumably want to use WebXR to allow developers to tap into iOS’s ARKit capabilities. Even if the current experimental features only support external devices, it seems likely that Apple will eventually support WebXR more fully in Safari in the future.
The new capabilities come a few months after an Apple job listing for a ‘WebKit 3D Graphics Engineer‘ which specifically mentions WebXR as part of the role.
You will be responsible for driving the future of graphics on the web. This includes working on 3D and GPGPU standards like WebGPU, AR and WebXR. You will be encouraged to work across all layers of code while maintaining a firm understanding of software architecture. And you will help define the next generation of web standards through participation in governing bodies including WHATWG and W3C.
WebXR support has been brewing under Safari for quite some time, even if not much of it has been built into the browser just yet. WebKit is the browser engine that forms the foundation of Safari; the WebKit bug tracking site shows that the earliest work implementing the core WebXR Device API started in early 2020 and work has been ongoing ever since. It isn’t clear if Apple will adopt all of the WebXR capabilities of WebKit, but given the first glimpses of it in Safari on iOS 15.4 beta, it seems like the company is poised to back the standard in a substantial way.
Meta is rolling out update v37 for Oculus Quest and Quest 2 bringing quality-of-life improvements like interface tweaks and tracking support for the Apple Magic Keyboard. A new link sharing feature promises to finally make it easy to send links from your phone to your headset, making it much easier for WebXR applications to proliferate through sharing.
The Oculus Quest v37 update is starting to roll out to users today and it includes focused changes that will hopefully make the headset’s basic functionality better, while adding a few nifty features too.
Link Sharing and What it Means for WebXR
Although Quest has a quite capable web browser built right in, there’s always been the annoying issue of getting links into the headset from the outside.
The Quest v37 update finally adds a link sharing feature that works just like you’d hope: when you use the share link function on your phone, you’ll now see an ‘Oculus’ option which will forward the link to the Oculus app. From there you can either click ‘Open Now’ to launch the link in your headset right away, or use the ‘Save to VR’ button to have it bookmarked inside your headset for later viewing.
It might not seem like a particularly big deal, but there’s one area where this new feature could have a huge impact, and that’s WebXR. WebXR is a stack of web capabilities which make it possible to run VR applications directly from the web browser. The ‘instant’ nature of WebXR applications makes them highly shareable and ideal for bite-sized experiences. But the inability to easily get links from outside the headset to inside the headset hampers the use of WebXR apps more than you might think.
For instance, prior to this point, if someone on Twitter said ‘hey check out this cool WebXR app!” you’d either need to memorize the URL and enter it directly or memorize the name of the app and then Google it to hopefully find it inside the headset. Or if you’re really savvy you could use a third-party service like this one to get links into your headset a little easier (but still clunkier than we’d like).
Although none of this sounds that difficult, it’s still a major friction point that means far fewer people are going to make that leap between finding a WebXR link on their phone and actually jumping into the experience in their headset.
For now Oculus says the new link sharing feature is only available on Android phones, but iOS support is expected in the future.
We’re glad to finally see this feature debut in the Quest v37 update, though it would be nice to have a similar capability to get links from desktops and laptops to the headset too. For now I guess we can always fall back to hmd.link.
Interface Improvements
The v37 update to Quest also brings improvements which Oculus seems to hope will bring some (much needed) clarity to the organization of the interface.
First of all it looks like they’re doing away with having a dedicated panel above the menu bar. Now you can drag the white line below the panel to move any panel from the larger ‘desktop’ mode into the ‘tablet’ mode. We’re hoping the Library, Quick Settings, Social, etc menus get the same treatment for consistency’s sake (previously they could only appear in the smaller, dedicated panel).
For those who have enabled the multitasking feature in Quest’s experimental options, the larger ‘desktop’ view will show up to three panels at once. When things are shrunk down to the ‘tablet’ view, only one will be visible at a time.
Additionally, hand-tracking is getting an expanded, gesture-based menu. Previously if you looked at your palm and made a pinching gesture it would open the usual Oculus menu. Now when you do the same in v37 you’ll be greeted with a new menu with quick actions.
Beyond choosing to open the usual Oculus menu you’ll also be able to move your pinched hand to select other actions like taking a screenshot or activating voice commands. Releasing your pinch will make the selection.
And last but not least in the interface department, the v37 Quest update aims to streamline the ‘Explore’ tab, which essentially functions as the landing page for the headset.
Oculus says the goal of Explore is to function as a “hub where you can discover what’s possible and what’s happening in VR.” To that end the company says they’ve redesigned the tab to better support those ideas.
Keyboard Tracking for Apple Magic Keyboard
Beyond the new link sharing feature and interface improvements, the update also adds keyboard tracking support for the popular Apple Magic Keyboard.
While Quest has long supported bluetooth keyboards, in the v28 update Oculus introduced keyboard tracking to allow you to see a virtual version of a keyboard inside your headset, complete with a (ghostly) view of your hands on top of it to make it easier to type.
At the time the feature launched it only supported a single keyboard, the Logitech K830, but as up v37, Oculus has added support for the Apple Magic Keyboard too.
It’s unclear if this will work with with both the smaller version of the keyboard and the larger version with numpad, or just one or the other. We’ve reached out to Oculus for clarity.
– – — – –
As with prior updates, v37 will roll out slowly to Quest and Quest 2 users, likely over the course of a week or more, but you can check for an update manually to see if it’s available to you. Here’s how:
How to Update Quest and Quest 2
In your headset, bring up the Quest menu by pressing the Oculus button on your right controller. Click, the clock to access Quick Actions and then the Settings (gear icon) button at the top right.
On the left of the Settings section select ‘About’ at the bottom of the list
Look next to the ‘Software Update’ label to see if a new version is available
Check the ‘Version’ label to see which version is currently installed
Oculus today announced that web apps and WebXR apps will soon be allowed into the main Quest store and App Lab. Apps served this way will support multitasking, allowing users to run them side-by-side for increased productivity.
Oculus recently updated Quest to support multitasking for flat apps, but only a few of its first-party apps were available, making the feature only minimally useful.
That’s about to change as the company today announced that it will allow web apps based on the Progressive Web App framework—like Slack, Dropbox, and Facebook—to be distributed through the main Quest store or App Lab.
Obviously one could just as easily have pulled up Slack, Dropbox, or Facebook through the built-in Oculus Browser, but when served this way, these ‘flat’ web apps will support multitasking within the Quest interface, making it easier to run productivity apps side-by-side in the headset.
Apps installed this way will also be included in the headset’s regular app library, which should make them easier to access compared to first launching the browser and then entering a URL or navigating to a bookmark.
Developers could also ostensibly modify their app to run differently when in the headset compared to running on a standard monitor; this could include tweaks for ease-of-use (like bigger buttons and text or an email-based login to spare the user from typing their credentials with the slow virtual keyboard).
Oculus says it will launch the first batch of web apps in the Quest store tomorrow, starting with Facebook, Instagram, Smartsheet, and Spike, followed soon by Dropbox, Monday.com, MURAL, My5 (UK), PlutoTV, and Slack. In the “near future,” the company says others will be able to submit their web apps for distribution through the Quest store or App Lab.
Oculus says that apps delivered this way can also make use of WebXR, meaning they can easily go from being flat apps to fully immersive experiences. One could imagine a 360 video player that has a flat video browser but can then play back the video in a sphere around the user.
While WebXR apps could, of course, always be accessed through the Oculus Browser, putting them in the Quest store could make them much easier for users to find—an issue which has plagued WebXR content since its inception. Having them in the headset’s usual app library will also make WebXR apps feel much closer to ‘first-class citizens’ compared to native apps.
It isn’t clear if Oculus will allow developers to charge money for web apps or WebXR apps in the same way that’s possible with native applications. We’ve reached out for clarity on that front.
Given that Oculus will be hosting these apps in the Quest store or App Lab, we expect that any web apps distributed this way will be subject to the same content and technical guidelines required of native apps. But hey, they can’t stop you from pulling up even “rejected” web apps right through the Oculus Browser.