Goal: Test LiveKit for VR streaming without disrupting the current Unity Render Streaming setup.
This is a minimal proof-of-concept to validate:
- ✅ LiveKit works with Unity on Quest
- ✅ Recording works automatically
- ✅ Video quality is acceptable
- ✅ Parent notifications work via webhooks
- LiveKit Cloud account (sign up at https://cloud.livekit.io)
- Node.js 18+
- Unity 2021.3+ (for testing Unity client)
cd backend
npm install
cp .env.example .env
# Edit .env with your LiveKit credentials
npm run devcd viewer
npm install
npm start
# Open http://localhost:3000See unity-setup/README.md for step-by-step Unity integration.
livekit-vr-test/
├── backend/ # Token generation server
│ ├── server.js # Simple Express server
│ └── package.json
├── viewer/ # React web viewer
│ ├── src/
│ └── package.json
├── unity-setup/ # Unity integration guide
│ └── LiveKitTest.cs # Simple Unity script
└── README.md
- Backend generates tokens successfully
- Web viewer connects to LiveKit
- Can see connection status
- Unity project connects to LiveKit
- Video stream appears in web viewer
- Audio works
- Quality is acceptable (1080p, 30fps)
- Recording saves to S3 automatically
- Webhooks trigger on stream start/stop
- Multiple viewers can watch
- Works on Quest headset
| Feature | Unity Render Streaming | LiveKit |
|---|---|---|
| Setup Complexity | Medium | Low |
| Unity Code | ~400 lines | ~100 lines |
| Backend Code | ~1000 lines | ~200 lines |
| Recording | DIY | Built-in |
| TURN Servers | Setup required | Built-in |
| Multi-viewer | Complex | Native |
| Webhooks | DIY | Built-in |
| Cost | $200-400/month | $299/month |
After testing, choose based on:
Choose Unity Render Streaming if:
- ❌ LiveKit doesn't work on Quest
- ❌ Video quality is worse
- ❌ Integration is too complex
- ✅ You want full control
Choose LiveKit if:
- ✅ Works well on Quest
- ✅ Video quality is good
- ✅ Features work (recording, webhooks)
- ✅ Simpler codebase
- Sign up: https://cloud.livekit.io
- Create a project
- Copy credentials:
LIVEKIT_URL(wss://your-project.livekit.cloud)LIVEKIT_API_KEYLIVEKIT_API_SECRET
- Paste into
backend/.env
- Today: Set up backend and test web viewer
- Tomorrow: Add Unity integration
- Day 3: Test on Quest headset
- Day 4: Test recording and webhooks
- Day 5: Make decision (keep or switch)
- LiveKit Docs: https://docs.livekit.io
- LiveKit Discord: https://livekit.io/discord
- Unity SDK: https://github.com/livekit/client-sdk-unity
This is a parallel test - your current Unity Render Streaming setup remains untouched. You can compare both approaches side-by-side before making a decision.