26.09.10 21:57
VR Sideloading Guide
How to install the working immersive VR build (noLegal) on Meta Quest without using a store.
The vr flavor is the intended Meta Horizon Store channel. Its immersive rendering is wired up
now - the S0773 epic that built it is finished - but it still launches into the flat panel from the
headset library rather than straight into VR, so it is not submittable yet (S0555) - see
VR Edition Overview.
Today the only channel with a working immersive experience is noLegal, which this guide
installs.
Prerequisites
- Meta Quest headset - Quest 3, Quest Pro, or Quest 2
- USB-C cable - to connect the headset to your PC
- Developer Mode enabled on your Quest
- ADB - Android Debug Bridge (included in Android SDK Platform Tools)
Step 1: Enable Developer Mode
- Open the Meta app on your phone
- Go to Menu → Devices and select your headset
- Tap Headset Settings → Developer Mode
- Toggle Developer Mode to ON
- Restart your headset
If you don’t see the Developer Mode option, register as a Meta developer at developer.meta.com first.
Step 2: Install ADB
If you already have Android Studio or Android SDK, ADB is at:
C:\Users\<username>\AppData\Local\Android\Sdk\platform-tools\adb.exe
Otherwise, download Platform Tools from developer.android.com/tools/releases/platform-tools and extract to a convenient location.
Step 3: Connect Quest to PC
- Connect your Quest to the PC via USB-C
- Put on the headset - you should see a dialog asking “Allow USB debugging?”
- Check “Always allow from this computer” and tap Allow
- Verify connection in terminal:
adb devices
You should see your device listed as device (not unauthorized).
Step 4: Build the noLegal APK
.\a.ps1 nd
That runs scripts/builders/build-nolegal-debug.ps1, which passes the flags noLegal actually
needs (-Pchaquopy.enabled=true --no-configuration-cache) so the build doesn’t depend on a
machine-local local.properties setting. The APK lands at:
app_v2/build/outputs/apk/noLegal/debug/
Step 5: Install on Quest
.\a.ps1 ivn
That runs scripts/builders/install-nolegal-debug-to-device.ps1, which resolves the just-built
APK for the connected device’s ABI and installs it - no need to type the version-stamped file name
by hand. It installs only, by design (see Step 6).
Step 6: Launch on Quest
The app appears in Unknown Sources in the Quest library:
- Put on your headset
- Open App Library
- Select Unknown Sources from the filter dropdown (top right)
- Find FastMediaSorter (noLegal debug) and launch it
Launch from the Quest Library, not adb shell am start: launching over ADB skips the vrshell
launch_id the immersive session needs to enter focused XR, so the app opens but the headset
stays on the flat 2D window.
ADB over Wi-Fi (Wireless)
To avoid the USB cable after initial setup:
# While still connected via USB:
adb tcpip 5555
# Disconnect USB, then connect wirelessly:
adb connect <quest-ip-address>:5555
Find the Quest IP address in Settings → Wi-Fi → Connected Network → Details.
Troubleshooting
| Issue | Solution |
|---|---|
adb devices shows unauthorized |
Put on headset and accept the USB debugging dialog |
adb devices shows nothing |
Check USB cable, try a different port, ensure Developer Mode is on |
| App not visible in library | Look in Unknown Sources section |
| App crashes on launch | Check logcat: adb logcat -s FastMediaSorter |
| XR runtime not available | Ensure Quest firmware is up to date |
Related Documentation
- VR Edition Overview - what the VR edition does and how it differs from standard
- Build Scripts - all available build commands