Blog

2026-09-19

UluP Spatial learns to collaborate

Since I wrote about the first real test of UluP Spatial on Meta Quest 3S, a couple of intense days have gone by. Tonight I added everything needed for Spatial to stop being "a demo that works" and start feeling like an actual shared workspace.

Real hands, not the default model

The headset shows a fairly generic white hand model by default. I replaced it with blue spheres on the real hand joints — the same identity color as Spaces — so when you look at your hands in the space, it feels like *Spatial*, not a generic WebXR template.

Panels I can finally move myself

The virtual keyboard, the create-node button, the exit-project button: they used to sit exactly where I'd hardcoded them. Now each one has its own small handle — grab it, drag it wherever feels comfortable, and the position is saved for that project, even across headsets. The keyboard, while I was at it, was also way too big: I shrank it to less than half its size, while keeping it comfortable to pinch.

The big one: real-time collaboration

This is the part I'd been waiting to get to. On Spaces you can already work as a team on a project: request access, get accepted as a viewer, get promoted to editor, watch other people's changes appear live. I brought the exact same model into Spatial:

  • Permissions respected: if you're a viewer on a project, in VR you can look at nodes and open tasks, but you can't move or edit anything — exactly like on Spaces. Managing who joins, gets promoted or banned stays on the website, where it belongs.
  • Live sync: if a teammate moves a node or completes a task from another device, you see it change in front of you without leaving and re-entering the immersive session.
  • Presence: small indicators show who's currently online on the project, and if someone else is dragging a node, it lights up in a different color than your own — so you don't collide "blind" with whoever's working alongside you in the same space.

I haven't built an internal chat yet — for now it stays a possible extra, not urgent.

What's still missing

Two things, plainly: node connections aren't drawn in Spatial yet the way they are on the normal Spaces canvas, and an actual release on the Meta Horizon Store is still ahead.

Everything described here was built tonight ahah!