cancel
Showing results for 
Search instead for 
Did you mean: 

Optimizing Unity build for Quest/Quest2

Silweri
Explorer
I'm new to Quest/Quest2 deploying and I'm wondering what I'm missing here...

I have game that I made for Oculus Go and it's just able to run steady 60fps on Go. When I deploy it on my new Quest2, the game can't sustain 72fps. It's steadily dipping to 62-64fps range. 

So I'm wondering if there's some general settings (different from Go) to apply when upgrading the project to Quest environment?

Project is made with Unity 2019.4
Using URP
Opengl
Static and dynamic patching
Arm64 upgraded for Quest

Cpu is running mostly at level 2 and 3,sometimes topping on 4 at ~70%usage
GPU is running mostly at max level 3 and at 70~98% usage.

So GPU seems to be the bottleneck here. 
8 REPLIES 8

JeffNik
MVP
MVP
I understand the default URP SkyBox and post processing stack are expensive. Have you tried disabling them and see if performance improves?

Silweri
Explorer

JeffNik said:

I understand the default URP SkyBox and post processing stack are expensive. Have you tried disabling them and see if performance improves?



Thank you for suggestion. Both are already disabled. The project should be pretty good optimized as it runs great on Oculus Go, but I'm mostly wondering if there's something that should be changed specifically for Quest? 

Quest 2 has about double the pixels to draw compared to Go, so I understand that it can't be expected to run that much better than Go, but still I would have expected some more..?

JeffNik
MVP
MVP
From what I hear, the new XR processor should more than compensate for the increased resolution, so I doubt that's your issue. I'm not going to be much more help - I'm pretty much a novice with Unity/Quest. But first thing I do when starting a URP app is replace the SkyBox and disable to post processing, so I thought I'd suggest it. I'd offer to test your project in my environment, but I only have the Quest, not the Quest 2 (yet!)

Silweri
Explorer

JeffNik said:

From what I hear, the new XR processor should more than compensate for the increased resolution, so I doubt that's your issue. I'm not going to be much more help - I'm pretty much a novice with Unity/Quest. But first thing I do when starting a URP app is replace the SkyBox and disable to post processing, so I thought I'd suggest it. I'd offer to test your project in my environment, but I only have the Quest, not the Quest 2 (yet!)


Thank you! 
I'd be more than happy with that, if you could try it out on Quest. I only have Go and Quest2, so it would be nice to see how it's running on Quest compared to Quest2. I'll drop you a link to apk as soon as I get it uploaded to Google drive. 

Silweri
Explorer
Here you go. Link to download the build.
Controls are still little buggy as I'm in process to code them again from Go to Quest, but should work fine enough for testing graphics performance. This build is running mostly at 62-64fps on my Quest2.
https://drive.google.com/file/d/1BGBy-g32XIxLymI81B7zt5OaUn1o_ajr/view?usp=sharing


To get you moving:
Left controllers thumbstick: movement, keep pressed to run
Right controllers thumbstick: snap turns
Right controllers primary button (A): keep pressed to show inventory (for grabbing the key ect.)
To find some light, there's flashlight on table that you can grab and while grabbing you can turn it on/off with trigger. Table is 90degrees right from initial position.

gv5cvgcb3a3t.png

JeffNik
MVP
MVP
Cool - I'll check it out. What are you using to determine the FPS while running on the Quest?

Silweri
Explorer
Just the Ovr metrics tool

Silweri
Explorer
Got the issue solved! 

Issue was due headset. After total reset, game runs great!

Here's the more functional version of the Solicitude Wake-up for anyone who likes to give it a go. Please let me know your thoughts about it if you give it a go ?
https://drive.google.com/file/d/17wfaHff2TTm2J4R3GqQu32zigHFKTDj1/view?usp=drivesdk