cancel
Showing results for 
Search instead for 
Did you mean: 

Minimal Application for Oculus Quest: Framerate too low!

Scary_Butterfly
Level 2

Hello everyone,

I followed this tutorial in order to make a minimal build example for the Oculus Quest: https://www.youtube.com/watch?v=JyxbA2bm7os. I did not import any 3D objects to the project. When deploying to the Quest (1) and analyzing the framerate, it never exceeds about 30 fps. This is for sure way too little for the application in order to get ever published on the Oculus store. Oculus guidelines say the application must meet 72 fps at a minimum: https://developer.oculus.com/resources/vrc-quest-performance-1/ I'm using Unity 2021.2.5f1, XR Interaction Toolkit 2.0.0-pre.6, Oculus XR Plugin 1.11.2, OpenXR Plugin 1.3.1 and Universal RP 12.1.2. What am I doing wrong? Can anyone give me a hint on where to look for the problem?

Users view:UsersView.png

Unity Profiler:UnityProfiler.png

2 REPLIES 2

Hi,

 

You have just deployed an app with a 30 fps target. So it won't go above 30 fps. That's all.

 

Scary_Butterfly
Level 2

Hello everyone,

I have investigated the problem further and found that the Universal Render Pipeline (URP) is the problem.
Setting up the project as described below does not cause any problem, but as soon as you click on the main camera of the XR Rig, Unity adds some URP stuff to the camera and the frame rate drops.

  1.  Follow this tutorial to setup Unity for VR development https://www.youtube.com/watch?v=JyxbA2bm7os
  2. Don’t use the Sample VR content from Synty. Just use an empty scene.
  3. Install Universal RP and use it.
  4. Install Oculus Integration from Asset Store.
  5. Set OpenXR as plug-in provider for XR Management (don’t forget to install OpenXR plugin and Oculus XR plugin in package manager). Enable Oculus Quest Support in OpenXR in XR Plugin Management.
  6. Do not click on camera component in XR Rig -> build project with LZ4HC and run on Oculus Quest -> everything is fine.
  7. Click on camera component in XR Rig (XR Rig -> Camera Offset -> Main Camera. Click on main camera). Unity adds some changes to Tracked Pose Driver (Input System) and Universal Additional Camera Data -> build project with LZ4HC and run on Oculus Quest -> frame rate drops from 72 to 30-40

Using the build-in render pipeline (and removing the URP from the package manager) fixes the issue.

I just reported a bug to Unity (Case 1404864).

Due to this bug, it is not possible to enable post processing in the camera without adding the corrupted code. Adding post processing via script (camera.GetUniversalAdditionalCameraData().renderPostProcessing = true;) has the same result.

Does anyone else have the same problem and any hint how to fix it with the URP integrated?