Current status: the system is being developed and tested for a single active VR player plus one browser viewer. A true multi-player shared-room experience, where two or more headset users appear in the correct relative physical locations, is not implemented yet.
Why this matters
Each headset normally tracks itself in its own local XR coordinate frame. That means sending headset or controller poses over the network is not enough, by itself, to place multiple users correctly in the same real-world room. To support multi-player co-location, the system needs a shared spatial frame first, and then each player’s head/body/arm rig can be placed inside that common frame.
Possible extension path
This can be extended in the future by adding a room-alignment layer before the existing player/arm sync. The best options are:
- Shared spatial anchors / co-location support from Meta’s native stack.
- Experimental shared-space support in Quest Browser WebXR, if staying browser-based.
- A manual calibration flow, such as aligning all users to one known point or marker.
Implementation hint for future work
- Add a
shared_room_transform or equivalent world anchor concept.
- Place each player’s root/body from headset pose inside that shared frame.
- Define arm bases relative to the player root, not fixed global positions.
- Keep the current arm simulation logic, but transform each player rig into the shared room frame before broadcasting/rendering.
- If browser support is insufficient, evaluate whether this feature should move from WebXR-only to a native Meta SDK path.
Caveat
- Motion (translation + rotation) should affect arm motion (Corriolus, Lagrange transportation terms)
Good starting sources
Current status: the system is being developed and tested for a single active VR player plus one browser viewer. A true multi-player shared-room experience, where two or more headset users appear in the correct relative physical locations, is not implemented yet.
Why this matters
Each headset normally tracks itself in its own local XR coordinate frame. That means sending headset or controller poses over the network is not enough, by itself, to place multiple users correctly in the same real-world room. To support multi-player co-location, the system needs a shared spatial frame first, and then each player’s head/body/arm rig can be placed inside that common frame.
Possible extension path
This can be extended in the future by adding a room-alignment layer before the existing player/arm sync. The best options are:
Implementation hint for future work
shared_room_transformor equivalent world anchor concept.Caveat
Good starting sources