Skip to content

Setup Guide

Tom edited this page Sep 30, 2025 · 1 revision

Setup Guide

Complete step-by-step guide to set up the Quest WebRTC AI Video Processing System.

Prerequisites

Hardware Requirements

  • Meta Quest 3 or Quest 3S headset
  • USB-C cable for development (optional for debugging)
  • Computer with Unity development capabilities

Software Requirements

  • 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)

Network Requirements

  • WiFi 5GHz preferred for best performance
  • Low latency internet (<50ms ping to major servers)
  • Stable connection (avoid congested networks)

Step 1: Environment Setup

1.1 Install Unity 6

  1. Download Unity Hub from unity.com
  2. Install Unity 6 (6000.0.34f1 or later)
  3. During installation, ensure Android Build Support is selected:
    • Android SDK & NDK Tools
    • OpenJDK

1.2 Quest Developer Setup

  1. Enable Developer Mode on Quest:

    • Create Meta developer account at developer.oculus.com
    • Install Meta Quest mobile app
    • Go to Settings → Developer Mode → Enable
  2. Install Quest Developer Hub (optional but recommended):

Step 2: Project Setup

2.1 Clone Repository

git clone https://github.com/DecartAI/QuestCameraKit.git
cd QuestCameraKit

2.2 Open in Unity

  1. Launch Unity Hub
  2. Click AddAdd project from disk
  3. Navigate to QuestCameraKit/DecartAI-Quest-Unity/
  4. Select the folder and click Add Project
  5. Open with Unity 6

2.3 Install Required Packages

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)

Step 3: Unity Configuration

3.1 XR Plugin Management

  1. Go to Edit → Project Settings → XR Plug-in Management
  2. Under Android settings, select Oculus
  3. Configure Oculus settings:
    • Initialize XR on Startup
    • Low Overhead Mode (GLES) - Must be DISABLED
    • Meta Quest: Occlusion - Must be DISABLED

3.2 Player Settings

  1. Go to Edit → Project Settings → Player → Android Settings

  2. Graphics Settings:

    • Graphics APIs: Remove Vulkan, keep OpenGLES3 only
    • Color Space: Linear
    • Rendering Path: Forward
  3. Configuration:

    • Scripting Backend: IL2CPP
    • Api Compatibility Level: .NET Standard 2.1
    • Target Architectures: ARM64 ✅ (disable ARMv7)
  4. Android Permissions:

    • Camera
    • Add custom permission: horizonos.permission.HEADSET_CAMERA

3.3 Build Settings

  1. Go to File → Build Settings
  2. Select Android platform
  3. Click Switch Platform if not already selected
  4. Texture Compression: ASTC
  5. Development Build: Recommended for first setup

Step 4: Scene Configuration

4.1 Load Main Scene

Open: DecartAI-Quest-Unity/Assets/Samples/DecartAI-Quest/DecartAI-Main.unity

4.2 Verify Component Configuration

The scene should have these key components configured:

  1. WebCamTextureManager:

    • Camera Eye: Left (default)
    • Requested Resolution: 1280x704
  2. WebRTCConnection:

    • Server URL: wss://bouncer.mirage.decart.ai/ws?model=decart-v2v-v2.0-704p
    • Video Resolution: 1280x704
  3. WebRTCController:

    • UI components assigned
    • Camera manager referenced

Step 5: Build and Deploy

5.1 Build APK

  1. Go to File → Build Settings
  2. Click Build or Build and Run
  3. Choose output location for APK
  4. Wait for build completion (5-10 minutes first time)

5.2 Install on Quest

Option A: USB Connection

  1. Connect Quest via USB-C
  2. In Quest, select Allow when prompted for USB debugging
  3. Use Build and Run in Unity for automatic installation

Option B: Manual Installation

  1. Copy APK to Quest via file manager
  2. Use Quest browser to navigate to APK location
  3. Install unknown sources app when prompted

Step 6: First Run

6.1 Launch Application

  1. Put on Quest headset
  2. Find the app in Unknown Sources section
  3. Launch application

6.2 Grant Permissions

When prompted, grant:

  • Camera Permission
  • Microphone Permission (for voice features)

6.3 Verify Functionality

You should see:

  1. Local camera preview immediately
  2. AI processing indicator within 3-5 seconds
  3. Processed video stream with style transformation
  4. A/B button responsiveness for style switching

Troubleshooting Common Setup Issues

Camera Not Working

  • Check Horizon OS version: Must be v74+
  • Verify permissions: Both Android.permission.CAMERA and horizonos.permission.HEADSET_CAMERA
  • Lighting conditions: Ensure adequate room lighting

Build Failures

  • 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

Connection Issues

  • 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

Performance Issues

  • Use 5GHz WiFi: Avoid 2.4GHz congestion
  • Close background apps: Free up Quest resources
  • Check device temperature: Allow cooling if overheated

Advanced Configuration

Custom AI Endpoints

To use different AI services, modify the WebSocket URL in WebRTCConnection component.

Voice Configuration

To set up custom voice commands, configure the Meta Voice SDK settings in the VoiceManager component.

Performance Tuning

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.