UnityRef is currently in early development. Some features may be incomplete and/or not functioning.

UNITYREF

Your Pit Stop For Solving ANYTHING in Unity

optimization

[OpenXR] Boost Meta Quest VR Frame Rates

Solution

build optimizationvirtual realityoculus questxrmeta

Unity 2021.x - Unity 6.3.x

Published Tue, Mar 10

Issue

 Significant performance degradation is observed when transitioning a Meta Quest VR project from the OculusXR Plugin to the OpenXR Plugin. While the legacy plugin achieves stable frame rates with moderate resource usage, the OpenXR Plugin often results in high GPU utilization and CPU overhead, leading to severe frame drops and instability in complex scenes.

Explanation

Performance parity between legacy plugins and OpenXR requires the manual activation of vendor-specific feature sets that are not enabled by default. Transitioning requires specific adjustments to the XR Plug-in Management configuration to ensure the hardware is utilized efficiently.

  1. Open Project Settings and navigate to the XR Plug-in Management section.
  2. Select the Android tab and ensure that OpenXR is the active provider.
  3. Navigate to the OpenXR sub-settings to access the available feature groups.
  4. Enable the Meta Quest Support feature group to unlock hardware-specific optimization pathways for your plugin configurations.
  5. Within the Meta Quest Support settings, toggle Fixed Foveated Rendering to a level matching your previous configuration to reduce GPU overhead on your entry.
  6. Review your graphics settings in Player Settings and ensure Vulkan is the primary Graphics API, as Meta Quest Support is heavily optimized for the Vulkan pipeline.

Additional Tips

  • Enable Phase Sync in the Meta Quest Support settings to reduce frame-to-photon latency.
  • Check the Depth Submission Mode in OpenXR settings; using Depth 16 Bit can improve performance on mobile VR chipsets compared to Depth 24 Bit.

TL;DR

To resolve performance discrepancies between OculusXR and OpenXR, ensure Meta Quest Support optimizations are enabled and that hardware-specific features like foveated rendering are correctly configured.


Related Posts Haven't quite found a solution to your problem? We think these posts might help you.

Content inspired by a Unity discussion post.