-
Notifications
You must be signed in to change notification settings - Fork 26
Setup Guide
Complete step-by-step guide to set up the Quest WebRTC AI Video Processing System.
- Meta Quest 3 or Quest 3S headset
- USB-C cable for development (optional for debugging)
- Computer with Unity development capabilities
- Horizon OS v74+ on Quest device
- Unity 6 (6000.0.34f1 or later)
- Android SDK with API Level 29+ (automatically installed with Unity)
- 8+ Mbps internet connection (bidirectional)
- WiFi 5GHz preferred for best performance
- Low latency internet (<50ms ping to major servers)
- Stable connection (avoid congested networks)
- Download Unity Hub from unity.com
- Install Unity 6 (6000.0.34f1 or later)
- During installation, ensure Android Build Support is selected:
- Android SDK & NDK Tools
- OpenJDK
-
Enable Developer Mode on Quest:
- Create Meta developer account at developer.oculus.com
- Install Meta Quest mobile app
- Go to Settings → Developer Mode → Enable
-
Install Quest Developer Hub (optional but recommended):
- Download from developer.oculus.com
- Useful for device monitoring and performance analysis
git clone https://github.com/DecartAI/QuestCameraKit.git
cd QuestCameraKit- Launch Unity Hub
- Click Add → Add project from disk
- Navigate to
QuestCameraKit/DecartAI-Quest-Unity/ - Select the folder and click Add Project
- Open with Unity 6
Unity should automatically resolve dependencies. If prompted, install:
- Unity Sentis (com.unity.sentis@2.1.2)
- Meta XR Core SDK (com.meta.xr.sdk.core@72.0.0)
- Meta XR Interaction SDK (com.meta.xr.sdk.interaction.ovr@72.0.0)
- Universal Render Pipeline (com.unity.render-pipelines.universal@17.0.3)
- Go to Edit → Project Settings → XR Plug-in Management
- Under Android settings, select Oculus
- Configure Oculus settings:
- ✅ Initialize XR on Startup
- ❌ Low Overhead Mode (GLES) - Must be DISABLED
- ❌ Meta Quest: Occlusion - Must be DISABLED
-
Go to Edit → Project Settings → Player → Android Settings
-
Graphics Settings:
- Graphics APIs: Remove Vulkan, keep OpenGLES3 only
- Color Space: Linear
- Rendering Path: Forward
-
Configuration:
- Scripting Backend: IL2CPP
- Api Compatibility Level: .NET Standard 2.1
- Target Architectures: ARM64 ✅ (disable ARMv7)
-
Android Permissions:
- ✅ Camera
- Add custom permission:
horizonos.permission.HEADSET_CAMERA
- Go to File → Build Settings
- Select Android platform
- Click Switch Platform if not already selected
- Texture Compression: ASTC
- Development Build: Recommended for first setup
Open: DecartAI-Quest-Unity/Assets/Samples/DecartAI-Quest/DecartAI-Main.unity
The scene should have these key components configured:
-
WebCamTextureManager:
- Camera Eye: Left (default)
- Requested Resolution: 1280x704
-
WebRTCConnection:
- Server URL:
wss://bouncer.mirage.decart.ai/ws?model=decart-v2v-v2.0-704p - Video Resolution: 1280x704
- Server URL:
-
WebRTCController:
- UI components assigned
- Camera manager referenced
- Go to File → Build Settings
- Click Build or Build and Run
- Choose output location for APK
- Wait for build completion (5-10 minutes first time)
Option A: USB Connection
- Connect Quest via USB-C
- In Quest, select Allow when prompted for USB debugging
- Use Build and Run in Unity for automatic installation
Option B: Manual Installation
- Copy APK to Quest via file manager
- Use Quest browser to navigate to APK location
- Install unknown sources app when prompted
- Put on Quest headset
- Find the app in Unknown Sources section
- Launch application
When prompted, grant:
- Camera Permission
- Microphone Permission (for voice features)
You should see:
- Local camera preview immediately
- AI processing indicator within 3-5 seconds
- Processed video stream with style transformation
- A/B button responsiveness for style switching
- Check Horizon OS version: Must be v74+
- Verify permissions: Both Android.permission.CAMERA and horizonos.permission.HEADSET_CAMERA
- Lighting conditions: Ensure adequate room lighting
-
Clean build folder: Delete
Builds/folder and rebuild - Check Unity version: Use Unity 6 (6000.0.34f1+)
- Verify Android SDK: Ensure API Level 29+ is installed
- Test internet speed: Verify 8+ Mbps bidirectional
-
Check WebSocket URL: Ensure
wss://bouncer.mirage.decart.ai/ws?model=decart-v2v-v2.0-704p - Try different network: Mobile hotspot for testing
- Use 5GHz WiFi: Avoid 2.4GHz congestion
- Close background apps: Free up Quest resources
- Check device temperature: Allow cooling if overheated
To use different AI services, modify the WebSocket URL in WebRTCConnection component.
To set up custom voice commands, configure the Meta Voice SDK settings in the VoiceManager component.
Adjust video resolution and bitrate in WebRTCConnection for your network conditions:
- High bandwidth: 1280x704, 4Mbps
- Low bandwidth: 960x540, 2Mbps
Next Steps: Once setup is complete, see Troubleshooting for common issues or API Reference for technical details.