MR_Data_Display is an immersive XR application that visualizes weather forecast data directly inside the user’s physical environment.
Built for Meta Quest 3, the system combines Unity XR, FastAPI, and WebSockets to stream real-time weather data and represent it as interactive spatial visuals.
This project transforms traditional weather forecasts into an interactive 3D spatial experience:
- 📊 3D histogram representing daily weather data
- 🌡️ Real-time temperature visualization per day
- 📈 KPI panels for key weather metrics
- 🔄 Automatic updates every 15 seconds
- 🧭 Fully interactive XR environment (grab, move, explore)
Instead of reading weather data, the user experiences it in space.
The application is designed around spatial intuition and real-time data immersion:
- Weather is visualized as 3D objects in space
- Each day is represented as a movable histogram bar
- Users can physically interact with the dataset in XR
- KPI panels provide quick analytical insights
- Visual effects enhance perception of temperature changes
The goal is to turn abstract numerical data into a tangible environmental experience.
- Python
- FastAPI
- WebSockets
- Uvicorn
- OpenWeatherMap API
- Unity
- C#
- Unity XR Toolkit
- Meta Quest 3 SDK
- WebSocket communication
- Visual Effects Graph / Particle Systems
MR_Data_Display/
│
├── backend_python/ # FastAPI server (weather + websocket)
├── unity_client-dataMR/ # Unity XR application
├── files/ # Media assets (ignored by git)
└── README.md
cd backend_python
pip install -r requirements.txtuvicorn main:app --host 0.0.0.0 --port 8000 --reloadipconfigLook for
IPv4 Address . . . . . . . . . : 192.168.1.xxxIn Unity, fill Ip field with IPv4
- Open unity_client-dataMR in Unity Hub
- Switch platform to Android (Meta Quest 3)
- Build & Run or use Link
Unity XR Client ← WebSocket → FastAPI Backend ← OpenWeatherMap API
- REST API: initial data fetch
- WebSocket: real-time updates every 15 seconds
- 3D histogram for daily forecasts
- Temperature mapped to height
- Color-coded weather states
- Grab and move histogram in space
- Spatial KPI panels
- Immersive exploration
- Data refreshed every 15 seconds
- Live synchronization with backend
- Fully immersive XR experience
- Hand tracking
- WebSockets for low-latency real-time updates
- FastAPI for lightweight async backend
- Unity XR Toolkit for cross-device XR interaction
- Spatial UI instead of flat HUD
- Modular architecture (backend/client separation)
- OpenWeatherMap API for live weather data
XR + Data Visualization project combining:
- Real-time systems
- Spatial UI design
- Immersive interaction