- Home /
Minimal Application for Oculus Quest: Framerate too low!
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:
Unity Profiler:
Answer by rh_galaxy · Jan 27 at 01:36 AM
Maybe it's somthing with the 2022 setup. Here is a project made for Oculus Quest: Using unity 2021.1.6f1. You can try and have a look at it.
Thank you for your example project. I made a build for Oculus Quest and it worked as expected. I noticed some differences: - For my project, I use the XR Interaction Toolkit. I assume you are using the Unity Input System for the tracking exclusively? Am I right? - If so, how does your tracking work? - If so, is it possible to make the project work on e.g. Valve Index as well without developing distinct versions for each device? - Do you use the OpenXR standard already in your project? Thank you for your help!
In my other two project at the same site they uset hat was common then, that is no XR interaction and only the coordinates and Unitys XR system for handling device input from the buttons and such, but I thought it could be worth something. The XR developing kit was not a relevant part for me, but it all changes so rapidly.
Answer by Mortis2605 · Feb 21 at 02:37 PM
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.
Follow this tutorial to setup Unity for VR development https://www.youtube.com/watch?v=JyxbA2bm7os
Don’t use the Sample VR content from Synty. Just use an empty scene.
Install Universal RP and use it.
Install Oculus Integration from Asset Store.
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.
Do not click on camera component in XR Rig -> build project with LZ4HC and run on Oculus Quest -> everything is fine.
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?
Your answer
Follow this Question
Related Questions
How to detect button down/up in xr interaction toolkit in unity xr oculus? 0 Answers
How do i optimize MovieTexture for large videos? 1 Answer
Help importing personalized Oculus avatar 0 Answers
Why some scenes on Oculus Quest crash upon adding avatar and some work fine? 0 Answers
FPS for Oculus 0 Answers