Colocated Large-Space Multiplayer MR
A study-derived case from the SpatialXR video courses: the core hard problem of colocated multiplayer MR — headsets' local frames converge to ONE shared origin via spatial anchors + alignment, plus player/object state sync over a public-internet relay, targeting Pico large-space. The Netcode SDK is unverified (video-only). Not a shipped Unity app.
A top-down floorplan replay of the documented colocation pipeline: two headsets start with independent local frames; after a spatial-anchor scan, the alignment step snaps both onto ONE shared origin, after which avatars and a shared grabbed object stay positionally consistent across clients.
Why this local version exists
Study-derived from the SpatialXR "VR-MR large-space multiplayer" video course — no runnable Unity app (video-only + password-locked RAR). The pipeline steps and Pico large-space target come from the course structure. The networking Netcode SDK is NOT named in any readable file → marked unverified (video-only); no framework name is guessed.
Large-space multiplayer MR: anchor → align → shared origin → state sync
A top-down floorplan replays the documented colocation pipeline: two headsets start with independent local frames; after the spatial-anchor scan, the "align" step snaps both onto one shared origin, after which avatars and a grabbed object stay positionally consistent across clients.
Top-down floorplan (two headsets, one shared origin)
Before alignment: B is in its own local frame and disagrees with A on the object position (dashed ghost box).
1. Two headsets, two independent local coordinate frames (origins differ)
2. Spatial-anchor scan: each headset recognizes the room and places anchors
3. Spatial alignment: both local frames converge to ONE shared origin
4. Networked room: both join one session over a public-internet relay
5. State sync: player avatars + a shared grabbed object stay consistent across clients
Colocation pipeline (Pico large-space)
The networking Netcode SDK is not named in the readable materials (video-only course — unverified).
What to try
Run the flow: two independent local frames → spatial-anchor scan → alignment snaps both to one shared origin → state sync.
Before alignment, spot the dashed "ghost box": A and B disagree on the object position.
After alignment, watch avatars A/B and the shared object converge into one coordinate system.
What this demo proves
You understand the hardest XR problem: making multiple headsets agree on one shared coordinate frame via spatial anchors → alignment.
You design layered state sync (player data / interactable objects / complex interactions) over a public-internet relay.
You scope honestly — study-derived from a video-only course, with the Netcode SDK explicitly marked unverified.
Pipeline
anchor → alignment → networked room → state sync → public relay
Hard step
spatial alignment: multiple local frames → ONE shared origin
Honest gap
Netcode SDK unverified (video-only); targets Pico large-space