Back to case study
Colocation-flow replay

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.

Spatial AnchorsColocationSpatial AlignmentPicoMultiplayer
Colocated Large-Space Multiplayer MR

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.

Colocation-flow replay

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)

AB

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)

spatial anchors
spatial alignment
networked room
state sync
public-net relay

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