Search Unity

VR and HDRP (PC), What do need to know?

Discussion in 'AR/VR (XR) Discussion' started by FlightOfOne, Jun 20, 2020.

  1. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    668
    Hi all,

    My last VR project I used URP and it worked really well, good performance/graphics all that stuff were better than the standard RP.

    For my new project (PC only) I want to use HDRP along with 2019.4 LTS, Single pass instance, supporting Valve, WMR and Oculus. There are so many features on there that would greatly help development process and of course giving better visuals.

    I downloaded VR Lab (Unity's HDRP project) and performance was not good at all, but I have a feeling this is due to some in correct configuration on my end (I upgraded the project from 2019.3 to .4).

    I am also finding that even for an empty scene (just a camera + light) has a much higher overhead than with URP.

    My biggest concern obviously is the performance. How does HDRP compare URP they are both using the same amount of features and effects? I see that Unity's wizard even has HDRP+VR so I am assuming this something intended to be used for.

    What do I need to know before jumping on to this? Any surprises along the way I need to be concerned with, what was your experience like?

    If you have done (or doing) a VR project using HDRP, I'd appreciate if you can share some of you wisdom. Thanks!
     
    worldofvrgmbh likes this.
  2. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    By definition, HDRP is slower than URP. That's the point.

    If HDRP could run at the same speed as URP then there would be no need for URP to exist :).
     
  3. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    668
    You make a good point but trying to find out what is faster is not the point of the question, I already know HDRP allocates way more resources upfront than URP. Also, I don't want to go down this rabbit hole as I have seen this point argued over and over but it is pointless because the term "faster/slower" is relative to what platform you are targeting and how much content you are pumping out. I also read that the more stuff you add URP will eventually be slower than HDRP on the other side of the curve.

    If you run a non VR PC game on a GTX 2080 TI (even my gtx1080, I am getting <10ms with very high settings), to the end user (what they experience), HDRP will not be faster than URP, just URP will look like crap. This is what I am trying to avoid. I am trying to see if I can use HDRP but try to cover both ends of the curve. One with very low settings, with lot of features turned off so people with not so great cards can still play. Then another quality level with a lot of features turned on so people with high end cards will be able to experience the game at a much, much higher visual quality. I thought this was the whole point of features being able to be turned on and off.

    What I am trying to find out is if someone has done something like this on a real commercial vr project and if they can give some insights.
     
  4. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    You cannot "just add stuff". If you could, there would only be URP, and everything would be toggles (this is theoretically possible, but would require a different core architecture, and Unity chose not to go that route). HDRP is incompatible with URP because of this precise reason. Unity will never allow HDRP to "cover both ends of the curve" - that is the literal opposite of all their plans, architecture, design, published builds, etc.

    Easiest route: build two projects, one for URP and one for HDRP, and deliver different binaries to people based on their hardware specs. App-stores have this built-in as an option, so should be fine. On desktop I'd probably build my own installer than auto-detected the current hardware then downloaded the content for one build or the other.

    Harder route: write your own SRP. That's what SRP's were created for: to allow you to customise it as much as you want.
     
  5. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    668
    Poor choice of wording, by stuff I meant runtime content like more units, and increasing quality levels etc... not features, but yeah I know what you mean.

    I spent the last 4 days just testing, going back and forth with URP and HDRP, URP is just super easy to work with also and seems to be much more stable. For outdoor scenes in VR I didn't see much quality difference between URP and HDRP but for indoor scenes HDRP looks so much more nicer.

    URP also lacks motion vectors which when I tested on HDRP it (TAA) completely eliminated the edge flickering, which is a huge problem in VR with sharp edges. I have been unsuccessfully trying to slove this problem in VR for the last 3 years finally a solution I can't use :). They did say they are working on this for URP though, but who knows when it might be, everyone will have gtx 3080s by then, haha. And there two other features I really want to use from HDRP, projection and volume lights.

    I would love to but unfortunately, I don't think I have this level of experience/know-how yet to do something like this. I am relatively new to graphics/rendering stuff. Maybe it is something I should invest some time in though.


    I think this is a fantastic idea. I will start out with URP and create a second converted project for HDRP later. Hopefully HDRP will be more stable by then too. Thanks!
     
    Last edited: Jun 23, 2020