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.

Question Looking for guidance from Unity on HDRP + Realtime GI

Discussion in 'High Definition Render Pipeline' started by dgoyette, Nov 29, 2019.

  1. dgoyette

    dgoyette

    Joined:
    Jul 1, 2016
    Posts:
    4,065
    With the release of 2019.3 just around the corner, and 2020.1 in alpha, I'm at a crossroads with my project where I'll need to make a decision soon about the future of my project. I'm hoping that Unity could provide some additional guidance to developers like me on what my realistic options are. (Perhaps @Remy_Unity or @SebLagarde could provide some direction here?)

    My project uses HDRP along with Enlighten for Realtime GI. 2019.3 will be the last Unity version to support Enlighten if I want to keep using HDRP. But HDRP isn't "done" yet, despite coming out of preview, and there are plenty of features I was hoping to see that won't be included in the 2019.3 version of HDRP.

    It seems like I have the following options for my project, and I was hoping someone could tell me if there is another option I'm overlooking that's better than the following compromises.
    • Abandon Realtime GI - This is probably the most straightforward choice, as it's the main constraint. But it has a major impact on the visuals in my project, on par with many different HDRP features. Even something as simple as a swaying light looks dramatically different with Realtime GI, and it's hard to me to give this up. But this approach would allow me to continue on to 2020.1 with HDRP, and not be version-locked to 2019.3.
    • Abandon HDRP for the built-in pipeline - This approach would allow me to keep using Realtime GI, at the expense of pretty much everything else. None of HDRP's advanced, no Shader Graph, no Visual Effects Graph.
    • Switch to URP - This is effectively the same as abandoning Realtime GI, since URL already doesn't support it. This so this worse than the first option, as it means losing Realtime GI, along with downgrading from HDRP to URP.
    • Manually modify HDRP package - As new features are added to HDRP under the 2020 cycle, I could view the changes on GitHub, and try to apply bug fixes or other features to the final version of HDRP that works under 2019.3. This sounds pretty hard, depending on the changes/feature, but it means that if the HDRP team can't back-port a given fix, there's some small chance I could manually apply it to the 7.X HDRP stream locally.
    • Stick with Unity 2019.3/4, and HDRP 7.X - This is the default choice, where I get to keep Realtime GI, but I lose out on HDRP improvements. This might end up being okay, though I don't know how much back-porting will occur with HDRP functionality. I've been on HDRP for a year now, waiting for it to stabilize, and it just seems unfortunately to have to forego HDRP improvements in 2020.1 and beyond because of the Enlighten issue.
    Ultimately, it seems like some pretty major trade-offs here, whichever way I go. Either I lose Realtime GI, or I lose HDPR improvements. Do I have any other options than what I've outlined here? I'm planning on releasing my game in about a year, so I don't really have the option to wait until 2021.X to see if Unity's Enlighten replacement is ready.
     
    Last edited: Nov 30, 2019
    amarcolina and R0man like this.
  2. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,335
    Stick with 2019.4 LTS until its sorted out.
     
  3. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,008
    For what it's worth, I would not start a project built around enlighten now.
     
    Shodan0101 and soleron like this.
  4. konsic

    konsic

    Joined:
    Oct 19, 2015
    Posts:
    995
    Maybe 2019.4 LTS will get new GI solution.
     
  5. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,008
    Highly doubt it.
     
  6. dgoyette

    dgoyette

    Joined:
    Jul 1, 2016
    Posts:
    4,065
    Thanks, I added that as my default option to the list. That's most likely what I'll end up doing, but that means potentially/likely no HDRP improvements moving forward, which seems pretty bad.

    I mostly agree. This project is coming up on two years old now, and I really don't want to have to up-end everything to rework the graphics at this point. Writing off enlighten right now is a shame.
     
    R0man likes this.
  7. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,008
    Yeah... I feel you, big transitional periods in Unity really suck when you're caught in them.
     
  8. Alan47

    Alan47

    Joined:
    Mar 5, 2011
    Posts:
    163
    The current situation is really unfortunate. Several different systems within Unity are competing, and are incompatible with each other (e.g. post processing V2 is incompatible with HDRP since a couple of releases; you have to use the HDRP post processing instead. The editor won't even give you a warning about it). In my short period of trying out lighting, it happened to me a lot that I changed a setting - and nothing happened. Bad luck, that setting belongs to another pipeline you're not using, or is outright unsupported.

    The enlighten issue only adds insult to injury. What Unity needs is a uniform configuration for lighting and post processing which can be understood and picked up by any chosen render pipeline, at least for the built-in ones (default, URP, HDRP). Features limited to either pipeline should be marked as such, and settings exclusive to other pipelines should not even be visible. HDRP not supporting terrains and foliage is another thing that bugs me greatly.

    As the OP stated, Unity is forcing us to make trade-offs in areas where there really should not be any (built-in renderer is stable and supports all features, but too bad, no shader graph or VFX graph...).

    I would stick with the latest Unity/HDRP version that supports Enlighten. It hurts to miss out on upcoming fixes & features, but at least it will provide some continuity which is crucial in the final phases of a project. Upgrading projects to newer releases of Unity has proven to be... problematic... in the past, even before the render pipeline confusion and Enlighten.
     
    R0man, tspk91, SpyChar and 2 others like this.
  9. SebLagarde

    SebLagarde

    Unity Technologies

    Joined:
    Dec 30, 2015
    Posts:
    925
    Hi, Some information that may (or not) help you to take a decision

    - There is no new feature on builtin. i.e what is available currently stay and remain.
    - We don't backport feature to 2019.3 LTS for HDRP. We do backport fix (if they make sense). So current package 7.1.6 contain all the feature for the 2019.3 LTS version.
    - Enlighten is indeed a no go in SRP land
    No development or fix are plan for Enlighten. New project created with HDRP for 2019.3 don't support Enlighten, only project created with older version have access to it (or if you change the code).
    So only way to use HDRP with Enlighten is to stay on 2019.3 LTS and package 7.1.6 (and above fix package) from a previously created project
    - Backporting feature yourself from 2020 to 2019.3 can quickly become a nightmare (change dependencies mean that to take a particular feature you need the previous particular feature that it rely on) and may not compile if it rely on a C++ change.
    - Realtime GI remplacement working on all platform will come very late, my advise is to not rely on it for 2020. In particular if you plan to ship in 2020.

    Hope this help
     
  10. dgoyette

    dgoyette

    Joined:
    Jul 1, 2016
    Posts:
    4,065
    Thanks for the information. I do believe that confirms that there isn't a magic bullet I was overlooking that wouldn't lead to big compromises.
     
    Salvador-Romero likes this.
  11. alexandre-fiset

    alexandre-fiset

    Joined:
    Mar 19, 2012
    Posts:
    696
    So that leaves a whole year without any realtime GI solution, right? And will this new solution work accross low and high end devices, like Enlighten? For anyone creating game to ship in 2021 and beyond, the information is really important.
     
    florianBrn, R0man, tspk91 and 4 others like this.
  12. DGordon

    DGordon

    Joined:
    Dec 8, 2013
    Posts:
    622
    Just for clarity's sake ... when you say "will come very late" and advise not to rely on it for 2020, that could mean a lot of different things. It could mean you expect it to come by 2021, but maybe 2020. Or you could be telling us perhaps years later ... or even ... there is no stable eta at all, and we shouldnt even expect it years from now.

    Any chance you can let us know how to understand that statement, besides "dont expect this in 2020"?

    Thanks so much!
     
  13. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    My tentative presumption is not to expect anything production ready in 2020, but I think there is a chance we could get preview releases, only working on a few specific platforms, in 2020. Just a guesstimate though!
     
  14. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    A preview of a new GI system, maybe end of 2020. A stable and production ready one? I guess end of 2021 / 2022.

    But that all depends on how good the lighting department is. Interestingly, the open vacancy for a Lighting developer in Copenhagen is gone from the Job page.
    That post pointed out the open job on July 2019:
    https://forum.unity.com/threads/enl...placement-solution.697778/page-3#post-4736972
    Hope they have strong new persons who can developed a good new GI in time.
     
    Last edited: Dec 15, 2019
  15. sqallpl

    sqallpl

    Joined:
    Oct 22, 2013
    Posts:
    365
    Things could changed since then but here is the quote from @Jesper-Mortensen opening post about the Enlighten deprecation and new GI solutions.

    It sounds like production ready, optimized and artist friendly state for 2021.1.
    Anyway it was posted in June so it may be not up to date.

    Would be great to see some preview versions available for 2020.1. DDGI, for example, looks very good in the presentation from Unite.
     
    Last edited: Dec 16, 2019
  16. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,008
    I'm fairly sure that won't happen, but "okay enough to work with" would be nice.

    No feature was "production ready, optimized and artist friendly" when it left preview.
     
    phobos2077 and Rich_A like this.
  17. DGordon

    DGordon

    Joined:
    Dec 8, 2013
    Posts:
    622
    If I believed UT was going to throw as many devs as needed to make this happen, maybe I would believe production ready could happen. But its one of a million different big things being built at once, so ... probably, no one should expect it to be ready, until its ready. Besides that, just hope for the best, or as you said ... okay enough to work with.

    I hate to say it, but my view of Unity at this point is a company that has bitten off far more than it can chew at once, and is still stuffing stuff into its mouth while acting like it can handle it all gracefully. Great work is done ... but nothing should really be expected until its ready right now. I can't help but get the feeling that someone high up got the idea to making Unity appeal to an audience(s) that it wasn't right for, and then gave the go-ahead to try to build/change/fix every single part at once so the marketing could begin ... /sigh.
     
  18. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    No. LTS is not about changes. Only bug fixes.
     
  19. laurent-h

    laurent-h

    Joined:
    Sep 29, 2016
    Posts:
    77
    One of the benefits of using HDRP is that you can use up to 24 lights per tile (tiles are small subdivisions of your screen) so it is often possible to add a light entity to simulate a realtime bounce for a specific effect (the ones you really want to keep).
    This adds some manual work but at the same time not using enlighten removes the need for some of the precomputations and assets setup so you also get some time back.
     
  20. dgoyette

    dgoyette

    Joined:
    Jul 1, 2016
    Posts:
    4,065
    Thanks. I'll experiment with that a bit. A user in another thread suggested using two sets of baked lightmaps (one for bright light, one for lights-off mode) and switching between them. That might cover my needs in terms of turning lights on/off in bulk, and maybe combined with this approach it might be close enough to meet my needs. Thank you.
     
    laurent-h likes this.
  21. laurent-h

    laurent-h

    Joined:
    Sep 29, 2016
    Posts:
    77
    dgoyette likes this.
  22. dgoyette

    dgoyette

    Joined:
    Jul 1, 2016
    Posts:
    4,065
  23. konsic

    konsic

    Joined:
    Oct 19, 2015
    Posts:
    995
    Can you implement automatic placement for lightprobes and lightmap switch in official Unity workflow?
     
  24. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    I think there is an example script for automatic light probes placement in the Unity manual.
     
  25. alexandre-fiset

    alexandre-fiset

    Joined:
    Mar 19, 2012
    Posts:
    696
    Except that in order to avoid these additional lights leaking out you'll need them to cast shadows, and that drastically impact performance. We found out that at some point it just double the amount of draw calls even with shadows refreshed "on demand".

    That hacky method can work if what you want to make is a nice looking screenshot, but for a real game that runs on a computer there is truly no viable alternative to Enlighten at the moment, and that is a shame.
     
    EricWilliams likes this.
  26. konsic

    konsic

    Joined:
    Oct 19, 2015
    Posts:
    995
    I'm thinking upgrading project so that I get future compatibility with GI and lighting, PL improvements,..
    Is 2020.1a17 in good shape for lighting and building the project in SRP?
     
    Salvador-Romero likes this.
  27. alexandre-fiset

    alexandre-fiset

    Joined:
    Mar 19, 2012
    Posts:
    696
    No.

    There is simply no dynamic GI solution in 2020.1 ;)

    2019.3 is the latest usable version of Unity for dynamic 3D projects.
     
    florianBrn likes this.
  28. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    If you want to start to build a dynamic lighting game right now, you have to stick with a Unity version that supports Enlighten, so up to version 2019.4. You can also use HDRP with it. This may works for small projects. But for anything else I would switch to another Engine. But when it comes to Enlighten, you have to get an own contract to use Enlighten which might be too expensive or troublesome. Keep in mind that it also depends on the feature set and stability you want have. So you need some time and study if an Unity version fits your needs. The last thing I would do is sacrifice the lighting for your beautiful game just because one game engine company made some decisions.

    I also have project running with HDRP and Enlighten. Unitys surprising decision to drop it with no substitute also hits me really hard.
    So I stay with Unity 2019.2. Maybe I upgrade to 2019.3 if they fix the huge amount of bugs. Latest tests showed I cannot upgrade to 2019.3 without breaking my game.
     
    Last edited: Feb 20, 2020
  29. laurent-h

    laurent-h

    Joined:
    Sep 29, 2016
    Posts:
    77
    Enlighten doesn't take into account shadow maps from point lights and spot lights so the bounces produced by these lights leak with enlighten too. The directional light however accounts for the shadow with enlighten.
     
  30. konsic

    konsic

    Joined:
    Oct 19, 2015
    Posts:
    995
    Any news about RTXGI, DDGI in SRP? On Nvidia site only states availability in 2020.
     
    sqallpl likes this.
  31. laurent-h

    laurent-h

    Joined:
    Sep 29, 2016
    Posts:
    77
    I am sorry, I think this is still in research and I cannot give precise estimates.
     
  32. Salvador-Romero

    Salvador-Romero

    Joined:
    Jan 21, 2014
    Posts:
    54
    This is not 100% correct. Just to clarify:
    You will be able to use the built in pipeline with dynamic GI provided by Enlighten using 2020.(1-4) versions. URP too, I believe.
    What you say is only true if you need to use HDRP. Witch is your case, for what I've read around here.

    Also worth mentioning: If you need to start a new project with HDRP and dynamic GI, you need to do that on 2019.2, and then upgrade, if you want to, to other 1019 versions (3 or 4).

    I hate to correct you. I've spend hours today reading through the forum (i.e.: The Enlighten deprecation thread) and I think I upvoted every single comment you made. I almost wrote you a message just to say that you are so right and that people pay so little attention. :D Keep up with the good posting.
     
  33. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    You can also trick the Unity editor to unlock Enlighten with a newer project version, so there is no need to start a project in an older Unity version just to get the grant for Enlighten ...
    All in all, that locking mechanism is just stupid and misleading.
     
    Last edited: Feb 20, 2020
  34. Salvador-Romero

    Salvador-Romero

    Joined:
    Jan 21, 2014
    Posts:
    54
    Correcting myself, Enlighten realtime GI is not supported in URP.
     
  35. Salvador-Romero

    Salvador-Romero

    Joined:
    Jan 21, 2014
    Posts:
    54
    Interesting! Care to comment how? That can be useful for other people :)
     
    konsic likes this.
  36. Gooren

    Gooren

    Joined:
    Nov 20, 2015
    Posts:
    320
    Woah... so precomputed realtime GI will no longer be supported in Unity 2020 + HDRP? Our entire game is going to rely on it heavily. So we have to stay with 2019 + HDRP for this entire project?

    I mean... when HDRP non-Enlighten based realtime GI comes out, we will have a lot of content already done and tweaked (the lighting most importantly). So updating then would still probably be ill advised.

    Well I hope 2019 HDRP branch will keep receiving some solid attention through 2019 LTS cycle when 2020 stable comes out.
     
    Corwah likes this.
  37. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    Enlighten with HDRP is only supported up to Unity 2019.4 (LTS). So you cannot upgrade to any 2020, 2021, 2022, etc. version if you rely on Enlighen with HDRP.

    HDRP 8.0 is coming for Unity 2020, so do not expect rather huge HDRP feature updates when using Enlighten, because you are locked to up to 2019.4. And LTS do not get the feature updates related to Unity binary. It depends which HDRP versions will be locked to which Unity binary.

    So for example, mainly dead ends, meaning coupling this features will not be possible, will be most likely:

    HDRP + Enlighten + Realtime Raytracing (stable version needs stable DirectX12)
    HDRP + Enlighten + stable DirectX12 (stable DirectX12 is planned for 2020.2!, but Enlighten is locked to 2019.4!)
    HDRP + Enlighten + Tesselation Shadergraph support

    Correct me if I'm wrong but that is the information collected from scattered post from Unity staff around the board. And I most likely do not remember everything correctly.
     
    Last edited: Mar 3, 2020
    Gooren likes this.
  38. Gooren

    Gooren

    Joined:
    Nov 20, 2015
    Posts:
    320
    Thanks for intel!
    So baked GI is the only GI that will still be supported in 2020 + HDRP combo? That at least is going to stay, right? :D
     
  39. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    I do not know any plans that they will drop baked GI. And if they would drop that too, Unity would be rather useless for 3D ...
    Nevertheless I think Unity is putting themselves already in an "obsolete state" on the game engine market, with the transition phase of new render pipeline but outdated Realtime GI.
    They should have came up with a new Realtime GI already with HDRP development. For example, automatically probe placement and Realtime GI UX, that are features Unity devs already could have done beside the progress of Lighting department.

    And how could the Enlighten purchase of a new owner be a surprise? They knew their contract for Enlighten and the deadlines, they knew their plans for new render pipelines. I do not get why Unity plays it's competitors in the hands by free will. They will miss customers, starting their project now or in the next two years, needing a strong lighting solution.

    I have invested many years in learning Unity, purchased assets and have a Pro subscription, but for new complex projects, I simply cannot use Unity, because the tech is either outdated, not there or putting everything in a at risk state. And I also cannot schedule projects just because Unity is in a transition phase. Then I have to look at the competitors, because they are far more ready. It's really sad for me because I see Unity tries to catch up and appreciate their progress and work.
    Their aim with the new HDRP is to lure more customers that looking for AAA graphics, but they will not reach that goal without a strong Realtime GI. That is the feature Unity could win a main selling point over all others. Maybe they will succeed with their new GI system.

    So for all starting a new project and need Realtime GI, I strongly advice to evaluate all pros and cons, and especially try out if HDRP is really fitting the projects needs. You may find out during development that for example Shadergraph is not supporting a tesselation node. Things like that so be aware. Also take some time and reading through the graphics forums. There you often find problems that came really up during development and current limitations of HDRP. Gather opinions from popular community members and asset store creators. They have their stories to tell. Far more then to summarize here.
     
    Last edited: Mar 3, 2020
  40. Salvador-Romero

    Salvador-Romero

    Joined:
    Jan 21, 2014
    Posts:
    54
    What I fear now is that the new realtime GI will (when it finally arrive) be exclusive for HDRP.
    That would be extremely frustrating.
     
  41. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    It is simple:

    1. Go to your file explorer and open that file with a plain text editor or code editor: YourUnityProject/ProjectSettings/GraphicsSettings.asset
    2. In the file "GraphicsSettings.asset" scroll down to the last line.
    3. Look for " m_AllowEnlightenSupportForUpgradedProject: 0".
    4. Change only number 0 to number 1, so you have that: " m_AllowEnlightenSupportForUpgradedProject: 1".
    5. Now restart your editor and you can use Enlighten under the Lighting window.
     

    Attached Files:

  42. Salvador-Romero

    Salvador-Romero

    Joined:
    Jan 21, 2014
    Posts:
    54
    Great! Thank you!
     
  43. gputhread

    gputhread

    Joined:
    Dec 7, 2018
    Posts:
    35
    Srsly, I too thought of switching editor from previous version to get enlighten back. Devs must not disable it on new projects till new realtime gi gets implimented. I am working on films...baked light is curse.
     
  44. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    Hi,

    you don't need an older version of Unity for Enlighten support.
    Until Unity 2019.4, simply enable the boolean in the graphic settings, see my screenshot above.
    This prevents you have to start a project created in Unity 2019.2 and then upgrade to Unity 2019.4 in order to "unlock" Enlighten.
    For higher Unity versions, one user is suggesting you need to enable a boolean in "HDRenderPipeline.cs". It's in the method "SetRenderingFeatures".

    // Enlighten is deprecated in 2019.3 and above
    , enlighten = false
     
    Gooren, Rich_A and gputhread like this.
  45. Gooren

    Gooren

    Joined:
    Nov 20, 2015
    Posts:
    320
    We are locked to 2019 because of lack of the realtime GI implementation. If this works, that would be nice.

    Still, unless someone from Unity confirms that this still should and will work in 2020 release cycle, we can't use it. It would be too risky, just to find this functionality finally completely removed in the next minor 2020 update :(
     
  46. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    Are you waiting for 2020 LTS? Otherwise Unity 2020.1 is just released.
     
  47. alexandre-fiset

    alexandre-fiset

    Joined:
    Mar 19, 2012
    Posts:
    696
    Their official statement is that HDRP + Enlighten isn't supported past 2019 LTS. Since built in renderer will maintain Enlighten support until 2021, there will always be script functions regarding Enlighten. I wouldn't use them though as like you said, this is way too risky for production. The toggle is already not working in 2020.2.
     
    Gooren likes this.
  48. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    I tested it on Unity 2020.2.0a18.
     

    Attached Files:

  49. Gooren

    Gooren

    Joined:
    Nov 20, 2015
    Posts:
    320
    Exactly what I am afraid of. Shame, we could really use some of the 2020.1 features, like articulated joints, better decals and such.
     
  50. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    Sure, it's never said it's supported officially. It's more a lifehack. :)
    If you use Enlighten with HDRP and Unity 2020, you're completely on your own. :)