YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
XROS Shell β a spatial OS for the Meta Quest 3
A working prototype of a spatial operating system shell combining three elements, inspired by the DiOS paper (An Extended Reality Operating System for the Metaverse, arXiv:2201.03256):
- Spatial computing β panels anchored in your real room (passthrough), driven by a shared world model rather than per-app state.
- A terminal β a command line you use inside VR, as the primary interface.
- Generative UI β describe what you want in natural language and the system generates a panel (currently a rule-based stub; an LLM can be wired in later).
Architecture
Quest 3 (Unity) Your computer (Python)
βββββββββββββββββββββββββββ ββββββββββββββββββββββββββββ
β WorldPanelManager ββββspawn/moveββ€ xros_server.py β
β (spatial panels) β /remove β ββ WorldState β
β SpatialShellTerminal βββcommandββββββΊβ ββ SpatialShell β
β (terminal panel) ββββoutputβββββββ (spawn/move/ls/gen)β
β XrosClient (WebSocket) β β β
βββββββββββββββββββββββββββ ββββββββββββββββββββββββββββ
The backend is the "OS brain": a shared world-state store plus a spatial shell (command interpreter). The Quest app is a thin client that renders the world and hosts the terminal.
Backend (Python)
| File | Role |
|---|---|
xros_world.py |
World-state store: scene graph + object registry + event bus |
xros_shell.py |
Spatial shell: command interpreter (spawn, move, ls, gen, clear) |
xros_server.py |
WebSocket server exposing the world-state + shell API |
xros_client.py |
Python client library + demo |
test_xros.py |
End-to-end tests (unit + integration) |
Run it:
pip install -r requirements.txt
python xros_server.py --host 0.0.0.0 --port 8765 # serve on your LAN
python test_xros.py # verify it works
Shell commands: help, ls, spawn <type> [x y z] [--title T] [--color C],
move <id> x y z, rm <id>, clear, gen <description>.
Frontend (Unity, Quest 3)
| File | Role |
|---|---|
XrosClient.cs |
WebSocket client (Newtonsoft.Json, no other packages) |
SpatialShellTerminal.cs |
Terminal panel: command input + output log |
WorldPanelManager.cs |
Renders world events as spatial panels |
UNITY_SETUP.md |
Step-by-step Unity + Meta XR SDK setup and build guide |
See UNITY_SETUP.md for the full assembly instructions (project setup, Meta XR SDK, passthrough, hand tracking, and building to the Quest 3).
Roadmap
- Phase 1 (done): shared world-state service + spatial shell + terminal.
- Phase 2: CV as a system service (shared scene understanding).
- Phase 3: agentic interface layer (AIOS-style scheduling/context).
- Phase 4: spatial developer experience (Code Cubes / structured editing).
- Phase 5: privacy/security at the OS layer (capability-based access).