Back

We Brought Mozilla's Hello WebXR Back From the Dead

TL;DR: Hello WebXR! was the demo Mozilla built to celebrate the WebXR specification reaching its official release — a small museum you walk through in your browser, and for a lot of people the first time the immersive web actually clicked. Its original home is gone: mixedreality.mozilla.org now redirects to a Mozilla Hubs end-of-support notice. The project is MIT licensed, so we rebuilt it and it is playable again at vrsites.com/play/hello-webxr/. Three separate things would have broken a naive copy — including Mozilla's analytics tag, still firing.

What Hello WebXR was

In 2020, the Mozilla Mixed Reality team shipped a demo rather than a spec document. You load a page and you're standing in a hall. Around you are doors, and behind each one is a small room built to show off one thing the immersive web can do.
There are ten rooms in total. A gallery of classical paintings — Bosch, Degas, Rembrandt, Seurat, Sorolla — hung at a scale you can walk up to. A sound room with a xylophone you actually play. A photogrammetry scan you can circle. A vertigo room that drops away beneath you. And a set of 360° panoramas, including a stereo one, that you step inside: Halde Zollern, Lake Byllesby, Thüringen, Tiger & Turtle, Zapporthorn.
None of it is a game. It's a demonstration that a link can put you somewhere. That was the whole argument for WebXR, and Hello WebXR made it better than any amount of documentation.

And then it went away

Mozilla wound down its Mixed Reality work. Hubs was shut down. The domain that hosted Hello WebXR now redirects to a support page explaining the end of support for Mozilla Hubs. The team's blog at blog.mozvr.com — where the demo was announced — doesn't resolve at all any more. The GitHub repository survives, but it's archived and carries the topics inactive and unmaintained.
That's the pattern we keep running into, and Hello WebXR is not an isolated case. We checked a list of well-known WebXR destinations recently. Here's how much of it is still standing:
DestinationStatus today
Hello WebXR!Original host redirects to a shutdown notice — now rescued
Mozilla HubsShut down; redirects to an end-of-support page
Construct ArcadeRedirects to heyvr.io
8th WallRedirects to 8thwall.org
Croquet Microverse404
Elixir (Wonderland)Doesn't resolve
Third RoomResponds, but the page is an empty shell
Almost nobody is archiving this. Games get preserved by enthusiasts, films get restored, websites get the Internet Archive — but an interactive 3D experience that needs its assets, its decoders and its exact runtime is a harder thing to put in a museum. It mostly just stops existing.

What it actually took

We host work only where the licence permits redistribution. Hello WebXR is MIT, and the repository ships a built bundle.js alongside its assets — so this looked, at first, like copying a folder. It wasn't. Three things would have quietly broken it.
1. Mozilla's Google Analytics tag was still in the page. A gtag.js snippet firing on a Universal Analytics property that hasn't accepted data in years. Every visitor would have been pinging a tracker on behalf of a team that no longer exists. Removed — and it's a good illustration of the point we made when we started doing this: third-party scripts are how these pages rot from the inside.
2. The fonts came from a Mozilla CDN — in two different places. The obvious one was a reference in the bundle itself. The second was a separate @font-face block in the page CSS pulling WOFF2, WOFF and OTF from code.cdn.mozilla.net. That server is still up today. It is also owned by an organisation that has already shut down every other part of this project, and we would rather not find out the hard way. All three formats now live alongside the experience.
3. The decoders live outside the bundle. Hello WebXR uses Basis-compressed textures and Draco-compressed geometry, and loads the transcoder and decoder binaries from a vendor folder at runtime. Copy the assets and the bundle but not those, and every texture and mesh silently fails. We found this the way you'd expect — by breaking it first.
One thing we left alone: the WebVR polyfill still tries to fetch a Cardboard device database from dpdb.webvr.rocks, which is dead. It only affects the old Google Cardboard path, not Quest or desktop, and patching a built bundle further than necessary works against the point of an archive. We'd rather the copy stay recognisably the thing Mozilla shipped, with the changes documented.
The result is self-contained: 91 resources, no failed requests, and not a single call to any server other than ours. A comment at the top of the page records every change from the original, and Mozilla's LICENSE and README — which carries the credits for the Wikimedia panoramas, the Sketchfab scan and the freesound.org audio — ship with the copy.

How to see it

Open vrsites.com/play/hello-webxr/ in a headset browser — the Meta Quest browser is the most reliable — and choose Enter VR. That's the way it was meant to be experienced, and the room scale is a large part of why it works.
There's also a desktop mode that isn't advertised anywhere. Add ?debug to the URL and you get pointer-lock navigation: click to capture the mouse, move with the W/A/S/D keys, and use the number keys to jump between rooms. It's a developer convenience Mozilla left in the source rather than a designed experience, but it means you can look around without a headset.
If you built something for the immersive web: we'd like to keep it playable. Open source under a permissive licence is ideal, but tell us about anything — hello@vrsites.com. And if something we host is your work and you want it changed, re-pointed at your own host, or taken down, just ask. See everything we've rescued so far at vrsites.com/play.

Why bother

Hello WebXR was made to celebrate a specification. That specification is still moving — the W3C published a fresh Candidate Recommendation Draft in June, and browsers are still implementing it. The odd part is that the standard outlived the demo built to celebrate it, and the organisation that built the demo left the field entirely.
That's the argument for archives. Formats survive; the things made with them often don't, and the early ones are usually the first to go — made by teams on short-lived budgets, hosted on domains nobody renews. Hello WebXR is six years old, which in this medium is close to historic. It still works. It just needed somewhere to live.
Sources & further reading: Play Hello WebXR! on VR Sites · MozillaReality/hello-webxr (MIT, archived) · W3C — WebXR Device API · Why we host open-source experiences · Everything we've rescued