Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Resolved Best UPR settings for VR stand alone projects (Oculus / Meta Quest 1 & 2, etc)

Discussion in 'SRP Dev Blitz Day 2022 - Q&A' started by rehtse_studio, Sep 28, 2022.

  1. rehtse_studio

    rehtse_studio

    Joined:
    Jul 25, 2013
    Posts:
    24
    Hello,

    Will be nice to know some specific settings one can alter when porting a VR project onto the Quest when graphic design is not on your skill set :)

    thanks
     
  2. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    4,392
    (not from the team)

    Graphics usually isn't a fix for performance, as it truely depends on your game.
    I have a demo project for quest (2) with the application spacewarp branch. The settings should be great as a starting point.

    https://github.com/smitdylan2001/ApplicationSpaceWarp
     
    rehtse_studio and jeromeWork like this.
  3. BuzzJive

    BuzzJive

    Joined:
    Mar 6, 2014
    Posts:
    72
    Appreciate you offering up an example here.

    The problem overall though is that if you start with the URP sample template project and try to run it on a Quest 2 it can't hit a smooth 72 FPS just in the default sample scene. The only way it gets close is by using the LowQuality URP asset (though there's still some places that you look at that cause it to dip). Depending on the game, LowQuality might be acceptable, but most likely you at least want shadows. Ideally Unity would have a URP VR starting point that started you with usable performance.
     
  4. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    4,392
    yeah the new default uses SSAO and more, which kills performance, especially on mobile.
    Hope the project helps
     
    rehtse_studio likes this.
  5. glenneroo

    glenneroo

    Joined:
    Oct 27, 2016
    Posts:
    228
    I also wish Unity would include decent default URP Quality settings for the Quest 1 and 2 (or even Low/Med/High for each). I can't count the number of times I've googled settings only to find 4 year old blog posts... which thankfully are still generally a good starting point. Also as DevDunk says, some settings are project specific - post processing is generally a no-go, at least not without some work.

    You might also just be hitting this bug: https://issuetracker.unity3d.com/issues/meta-quest-performance-loss-between-urp-versions-when-built (please go vote on it ;)

    You can also try switching to Vulkan in Player settings, that gave me a ~15% speed boost.
    In your forward renderer, make sure Intermediate Texture is set to Always (it somehow got reset to Auto midway through my project and it totally ruined performance).

    Here are my URP settings which give me stable 72fps w/ 2021.3.10 on Quest 2 (haven't tested Q1 myself recently but my dev friend said it runs fine):
    urpsettings.png

    Note that I'm not using SpaceWarp because I'm using legacy XR i.e. not OpenXR and enabling it in Oculus settings gives me a black screen on my Quest when it hit Play :( I do adjust FFR (Fixed Foveated Rendering) using
    OVRManager.fixedFoveatedRenderingLevel depending on what's happening - that can help a lot for scenes that are struggling.
     
  6. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    4,392
    Do you have graphics jobs enabled when getting the black screen? That was the case for me
     
    rehtse_studio likes this.
  7. glenneroo

    glenneroo

    Joined:
    Oct 27, 2016
    Posts:
    228
    Thanks but nope. Just tried again to verify - not even a black screen, just the Unity loading screen.

    Anyways let's not hijack this thread for something I hopefully don't need ;) haha I also just realized this is the Blitz Q&A forum... oops!
     
    rehtse_studio likes this.
  8. phil_lira

    phil_lira

    Unity Technologies

    Joined:
    Dec 17, 2014
    Posts:
    584
    Hi everyone, we are indeed missing best practices when it comes to performance for some platforms. I will give this feedback to devs and doc team and ask if we can plan a documentation page or instructional material for this.
     
    m4d, KingKRoecks, glenneroo and 5 others like this.
  9. Bovine

    Bovine

    Joined:
    Oct 13, 2010
    Posts:
    161
    Any update on this, I find myself looking at some of these settings and wondering, should I tick this box or not, particularly for quest 2.
     
  10. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    4,392
    You can use my base settings from my earlier post. But all settings really depend on your project.
     
  11. Bovine

    Bovine

    Joined:
    Oct 13, 2010
    Posts:
    161
    Sure, but it's not immediately apparent what each does...
     
  12. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    4,392
    Then read up on the docs I guess. If you still dont know, google it. If you still don't know, turn it off/down. If you don't notice any difference, good, if you do, turn it back
     
  13. Bovine

    Bovine

    Joined:
    Oct 13, 2010
    Posts:
    161
    Naturally I've done both of thest things...

    I was responding to the unity guy's statement @phil_lira saying the docs were a bit sparse - I should have quoted that tbh.

    "Hi everyone, we are indeed missing best practices when it comes to performance for some platforms. I will give this feedback to devs and doc team and ask if we can plan a documentation page or instructional material for this."
     
  14. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    4,392
    Ahhh that makes more sense, my bad.
    It probably will take a while for an official one. Untill then feel free to ask any specific questions and maybe I can answer them for you.
    Might also make a video going over all URP settings
     
    Bovine likes this.