# 9. Quest 2 Pitfalls Part of [[Meta Quest 2]]. Requires Unity 6.3 LTS (6000.3.27f2) and newer. Previous: [[8.Quest 2 Changelog]]. > [!important] Version requirement > Unity 6.3 LTS (6000.3.27f2) and newer. ## 9.1 Build and store | Pitfall | Symptom | Fix | |---|---|---| | Unity's Meta Quest profile targets **API 32** | Store rejects a new app; Meta requires 34 for apps created since 2026-03-01 | Set Target API Level to 34 ([[3.Quest 2 Project and Build Setup]]) | | Both Oculus and OpenXR providers enabled | Duplicate tracking, black screen, or wrong controller profile | Enable **OpenXR** only on Android; the Oculus XR Plugin is deprecated | | Missing the Touch controller profile | Controllers are not tracked | Add **Oculus Touch Controller Profile** | | `debuggable=true` or wrong manifest in the submitted build | Fails VRC.Quest.Packaging.1 | Release build + inspect the merged manifest | | 32-bit build | Fails VRC.Quest.Packaging.6 | IL2CPP + ARM64 only | | Missed 72 Hz | Fails VRC.Quest.Performance.1; discomfort | Measure on device; lower content or use ASW | | Render scale below 0.85 | VRC.Quest.Performance.4 (recommended) | Fix content, not render scale | | `Shader.Find` at runtime | Pink or missing materials in builds (shader stripped) | Reference materials or use the pipeline default material, as the worked example does | | Using SDK features newer than v213 on Quest 2 | Feature missing or broken | Check Meta release notes per feature; test on device ([[1.Quest 2 Support Status]]) | ## 9.2 Rendering | Pitfall | Fix | |---|---| | Application SpaceWarp does nothing | It needs Vulkan, URP Render Graph (not compatibility mode), OpenXR 1.11+, URP 17.0.3+ | | ASW artifacts | Missing motion vectors on moving or transparent objects; test, or turn ASW off | | Text shimmer or blur at panel edges | Foveation level too high; increase font size ([[8.UI Toolkit for VR]]) | | Post-processing, HDR, depth texture left on | Disable in the Quest URP asset ([[3.Quest 2 Project and Build Setup]]) | | Editing `renderScale` at runtime in the editor | Persists in the URP asset; the profile script skips it in the editor | ## 9.3 Input and UI | Pitfall | Fix | |---|---| | UI Toolkit panel ignores input over Link | Click the **Game view** to focus it (XRI docs) | | Ray passes through UI Toolkit panel | Panel needs a collider (Collider Update Mode) and `XRUIToolkitManager` in the scene | | Panel Input Configuration missing | Add it and set **No input redirection** | | `UIDocument` added after interactable registered | Add the UIDocument first (XRI docs) | | Poke finishes instantly | Use **Match 3-D bounding box** instead of Match 2-D rect | | Panel buttons work with ray but not with ISDK | ISDK's UI integration is uGUI-only; use XRI or the render-texture fallback ([[8.UI Toolkit for VR]]) | | `PanelRenderer` vs `UIDocument` | This series uses `UIDocument` with a World Space Panel Settings asset (Unity 6.3 LTS). `PanelRenderer` exists from 6000.5 and newer docs mark `UIDocument` obsolete; `PanelRenderer` behaviour with XRI is unverified | | Text fields without a keyboard | Enable **System Keyboard** under Meta Quest Support; untick Hide Soft Keyboard/Hide Mobile Input | | Head-locked menus | VRC.Quest.Functional.10 recommends avoiding them; use world-space panels | | Hand-tracking system gesture triggers actions | Reserved by the system (VRC.Quest.Input.8) | ## 9.4 Passthrough and MR on Quest 2 | Pitfall | Fix | |---|---| | Expecting color passthrough | Quest 2 is black and white, low-res, with close-range distortion; branch on `SupportsColorPassthrough` ([[6.Quest 2 Input Hands and Passthrough]]) | | Expecting occlusion/depth or scene meshes | Not on Quest 2; design without them or target Quest 3 | | Passthrough launch behaviour | VRC.Quest.Functional.14: apps that can launch in passthrough must show passthrough loading screens | ## 9.5 Testing | Pitfall | Fix | |---|---| | Only tested in the simulator or Link | The desktop GPU hides thermal and fill-rate issues; test on the headset ([[4.Quest 2 Testing and Deployment]]) | | Simulator shows the wrong device | Set **Inputs > Device = Quest 2**, then re-enter Play mode | | `adb devices` is empty | Developer Mode, USB debugging prompt in the headset, a data cable, and on Windows the ADB driver | ## Official references - [Meta: VRC guidelines](https://developers.meta.com/horizon/resources/publish-quest-req/) - [XRI: UI Toolkit support](https://docs.unity3d.com/Packages/[email protected]/manual/ui-world-space-ui-toolkit-support.html) - [Unity: Configure the Meta Quest build profile](https://docs.unity3d.com/6000.3/Documentation/Manual/xr-meta-quest-build-profile.html) Back to [[Meta Quest 2]]