← All writing

VR, music, and the metaverse problem

Building Alternative Stages, a WebVR gig platform with LIDAR-scanned Brighton venues, and what a chaotic WoW guild taught me about what online spaces actually want.

VR, music, and the metaverse problem

Online music events have been around for years and none of them quite capture what makes a live gig good. You can watch someone perform on a screen, but the crowd, the room, the feeling of actually being there is missing. That’s what we tried to solve with Alternative Stages, a WebVR platform built at Wired Sussex for the Brighton 5G Music Festival in 2022.

The brief, honestly

The festival’s headline programme was low-latency live performance streamed between venues over 5G. Heavily funded technical showcase, lots of fibre, lots of network engineers, lots of slide decks about edge compute. We were the sideshow: a small-budget VR platform that let you visit Brighton venues from home. Roughly a tenth of the main programme’s budget, set up off to one side of the foyer.

When the evening came round, we impressed more people than the main feature did. Possibly the best demonstration that night of what 5G could actually be useful for, even though we weren’t really using 5G. A lesson in audience attention I’ve thought about a lot since.

Four venues, scanned

We Matterport-scanned four Brighton venues for the platform: The Hope and Ruin, the Green Door Store, St Georges Church, and the Brighton Dome’s main auditorium. A Matterport Pro 2 camera on a tripod, walked through each room in a slow grid, somewhere between 200 and 400 sphere captures per venue depending on the floor area. The cloud pipeline stitches the spheres into a point cloud, registers them against the depth data, and produces a textured mesh on the other side.

This was pre-NeRF and pre-Gaussian-splat, so photogrammetry from a depth-aware camera was the only practical capture format. The output is decent for navigation but lossy at edges; you don’t see the grain of the brick, but you see the layout. Posters on the walls, scuff marks on the floor, the sound desk frozen exactly where the engineer left it. The first time I walked through one of these in VR I was genuinely blown away. Like the venue had been pickled.

I exported each scan to GLB through the Matterport plugin, then loaded the meshes into Mozilla Hubs via Spoke, the scene editor for Hubs. Baked the lighting where the geometry allowed, accepted the artefacts where it didn’t, kept an eye on polygon counts so the scenes wouldn’t tank the headset GPUs we knew people would be using. The scenes ran on Hubs’ WebXR runtime, so any modern browser on any modern headset could load a venue and walk around it.

Capturing the performances

We filmed each act against a black backdrop in the Green Door Store. Recorded in 4K, with lighting designed to feel close enough to each venue’s natural look that the performer wouldn’t read as cut-out the second they appeared on stage. The video composited into the scene as a flat plane positioned carefully on each venue’s stage, edges blended into the dark backstage area.

Up close it’s a 2D rectangle. From the audience floor, where the actual viewer stood, the plane reads as a performer where a performer should be. The trick is making sure nobody walks behind them.

What 5G couldn’t yet do

The big-picture goal was volumetric streaming. Real-time three-dimensional capture of the performance, delivered live so the bands could see the audience react and adjust. Mid-2022 consumer 5G slices couldn’t carry the bandwidth volumetric capture wanted, somewhere north of 30 Mbps per stream sustained, with sub-100ms latency for anything that felt live. So performances had to be pre-recorded. The cost was the thing that makes a gig a gig: the back-and-forth between performer and crowd. A recorded plane can’t read the room. The “live” part of the festival was elsewhere.

The guild

We kept the public events locked down. Mozilla Hubs lets the room owner restrict what visitors can spawn: media URLs, 3D models, audio, sketch-pad scribbles, all toggleable per role. For public gigs we turned everything off so nobody could plaster the venue with random media during a set. It worked. People enjoyed the gigs.

Then I tried something different. I got my World of Warcraft guild into a private room with every restriction off. They could pull any image URL out of the internet, drop in a Sketchfab model, spawn an emoji at scale, paste a YouTube link as a screen anywhere on the venue.

Within ten minutes the venue was covered in anime characters, animated gifs, in-jokes nobody else on the project would have recognised, a 5-metre-tall Yu-Gi-Oh card, and a single rotating doge. Total mayhem.

They loved it more than any of our normal users ever did.

The lesson

There’s a gap between what platforms think people want from a virtual space and what people actually enjoy in one. My guildmates weren’t just being idiots, though some of them were. They were making the space feel like theirs. Engagement turned out to be a feature of the unauthorised mess, not the polished launch event.

That’s not an argument for chaos at every event. It’s an argument for designing the rest of the night around the kind of energy that produced the chaos, rather than against it. The polished public version was a venue; the chaotic guild version was a party.

Where this lives now

Alternative Stages shipped, was a success, was shown one night. It’s not running anywhere today.

Mozilla Hubs has since pivoted to paid hosting; self-hosting through AWS is expensive and fiddly. Even now, WebXR still trips over things that should be solved by now: video playback varies wildly by device (the same MP4 plays on Quest 3 and not on Vision Pro Safari, or the other way round depending on the week), 3D models fail to load if the polygon count creeps past whatever the headset’s mobile-grade GPU decides is too much, tracking drops out for no obvious reason, people just crash mid-set. That’s part of why I keep wanting a reliable, low-cost WebXR platform to actually exist, and why I keep poking at the problem.

That’s also the reality of a lot of public-private funded creative-tech projects. You build something honest, demo it on one evening, and then it’s gone. Not because the work was bad, but because the conditions for it to live a day after launch don’t exist. There’s no operational budget line for keep it running; the grant ended, the venue moved on, the platform got acquired or paywalled. Still one of the bigger things I’ve made, and one of the more bittersweet.

The metaverse footnote

Zuckerberg’s version is mostly being mocked, and it deserves to be. But the idea of shared virtual spaces isn’t dead. The execution is sterile.

If this stuff does work out long-term, it’ll look much more like my guild’s chaotic private room than whatever Meta is demoing at their next conference. People like to play. They like to mess around. That’s what makes a space feel alive.