Search Unity

  1. Looking for a job or to hire someone for a project? Check out the re-opened job forums.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

Unity What is next for us at Unity with Scriptable Render Pipelines

Discussion in 'General Graphics' started by mirrormask, Jul 2, 2020.

  1. ugur

    ugur

    Joined:
    Jun 3, 2008
    Posts:
    692
    The flexibility was actually way higher before there was URP and HDRP. I could deploy to all platforms from one Unity engine and use all the shaders and all the post processing and just tone them up/down for different platforms.
    Now most stuff does only work in one or the other and the one thing which could deploy to most platforms and biggest spec ranges (old builtin RP) is not getting developed further properly anymore so it doesn't get any of the nice features for new graphics possibilities etc.
    So Unity got a whole massively more less flexible, less versatile, less trustable, less stable, all thanks to this split up of everything.
     
  2. LeFx_Tom

    LeFx_Tom

    Joined:
    Jan 18, 2013
    Posts:
    40
    This is a very narrow and one-dimensional view of Unreal and its workflows.
    It offers very large flexibility, but it is sometimes hidden behind quite steep skill-walls (like C++ source changes etc)
    Basically you can turn the whole engine upside down, you just have to dig quite deep. Unity does not even offer that level of customizability to begin with, because you (aside from paid extra) don't get source access.
    You can build stylized shading in UE (Borderlands 3 shows that) and you can do easy toon-shading like this which does neither include 6 blog posts, nor source-rebuilds or similar.

    If you are really interested, I'd suggest you take a bit of time to read this, if you want a more balanced view on the differences and similarities of UE/Unity's approach to certain things.
     
  3. BattleAngelAlita

    BattleAngelAlita

    Joined:
    Nov 20, 2016
    Posts:
    327
    I've said this many times, i say it again: not LWRP, nor HDRP was not planned as a production pipelines. LWRP was an example, HDRP was an internal renderer for cinematics. Nobody even thinking about extensibility, exchangeability, migration and asset store stuff support.
     
  4. valarus

    valarus

    Joined:
    Apr 7, 2019
    Posts:
    248
    Idea could be to create simple Workbench unlit mode renderer where you could create whole game, test it and then you may choose URP or HDRP in the end. That would require camera depth pass abstraction layer, terrain and particles abstraction data.
    Postprocess and lighting could be added in final pass when URP or HDRP is chosen.
     
  5. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,963
    There's very little objective or balanced take on the blog post you linked. Most of it was written by user fed up with Unity while he had used UE4 for few weeks at most.

    I'd continue with UE4 extensibility and where it really gets frustrating but this thread isn't about Unreal.
     
  6. ugur

    ugur

    Joined:
    Jun 3, 2008
    Posts:
    692
    -->that's not a feasible solution i'm afraid. I mean the look of the game is an important aspect in most projects and so one would want to establish a look throughout production and know one can achieve that look on all platforms at good performance throughout production.
    What most games do is either establish that general look for lower specs and toggle on fancier stuff/settings for highest end hardware or establish a look for higher end hardware and adjust settings/toggle stuff off which only runs on fancier hardware then when deploying to lower end hardware; not make a whole game in some barebones pseudo look and then in last step decide a fully separate RP which completely changes the look on everything and can not be easily switched back and forth between different settings/quality levels.

    The whole ask for a single RP (at least facing to the user looking/usable like a single unified thing) is so one can make the whole game in one environment again and check instantly again how it looks with lower/higher settings constantly throughout the workflow in non destructive, easy and fun to work with nice iteration workflow.
     
    Last edited: Jan 5, 2021
    Bioman75 likes this.
  7. LeFx_Tom

    LeFx_Tom

    Joined:
    Jan 18, 2013
    Posts:
    40
    I agree and yes, you are right - it isn't. I just linked that post in particular, because at least someone spent a fair bit of time explaining certain differences and the user i replied to certainly didn't care to really look into some of the aspects that the user complained about. I just wanted to offer some further reading and this was the fastest link i had at hand. More balanced was meant in relation to the remarks made by said user so far.

    But i also agree - it's not about Unreal here and i didn't intend to push that conversation much further in that direction.
     
  8. Kleptine

    Kleptine

    Joined:
    Dec 23, 2013
    Posts:
    119
    I'm saying this stuff as someone who has spent a year and half as tech lead on a mid-sized Unreal Engine project. We made many, many modifications to the underlying engine (we even paid for a custom support line to Epic engineers). But just because you have access to the source doesn't mean it is worthwhile/efficient to modify. Even just to rebuild the Unreal Engine, Epic recommends having a cluster of computers using Incredibuild (distributed compilation).

    I'm definitely aware that post-process toon shading is a thing, but it creates a very different (grittier) visual style than you get from a proper toon shader.

    But yeah, didn't mean to start a war, haha. Just felt the conversation was a little one-sided, and wanted to express that there are folks out here building complicated game projects that deeply depend on Unity's existing SRP flexibility.
     
    GliderGuy likes this.
  9. ugur

    ugur

    Joined:
    Jun 3, 2008
    Posts:
    692
    Yeah, that is a thing, but it is also a thing that a very large amount of unity content creators/users (I'd bet the large majority) are not touching the URP and HDRP with a stick and so are force stuck with old not developed further builtin RP because this separate RPs is a broken incomplete mess (and while not combined always will never be feature complete as in all major features available in each and deployable to all platforms from each/a single thing).
    So one thing should be clear by now: It can't go on like it is now (and has been for the past few years) : basically to put it blunt and brief: an utter unreliable mess for anything else than using builtin old pipeline (and again, with that not getting most nice new feature additions on graphics side, so that not a good offering either).

    Unity does a lot of polls, was there a poll on what percentage of users is happy with this current setup of Unity with the separate new RPs and the old builtin RP not developed further anymore? I imagine replies to that would be quite eye opening if not already clear by current feedback over the last few years by the majority of users.
     
  10. Kleptine

    Kleptine

    Joined:
    Dec 23, 2013
    Posts:
    119
    I think the difference is just that I'm content to wait a few years. Unity does clearly seem to be working on this, albeit fairly slowly. I'd rather they find a solution that works for everyone, and not just bounce back and forth between trade-offs.

    I do agree that lots of people probably aren't / can't be quite as patient, though.
     
    GliderGuy and ugur like this.
  11. KokkuHub

    KokkuHub

    Joined:
    Feb 15, 2018
    Posts:
    663
    One of the advantages Unity has over UE4 (and I say this as someone who would pick UE4 over Unity for almost every new project) is that messing around with the render in Unity has a much lower bar of entry and iteration times compared to UE4. The built-in RP accrued a lot of extension points allowing users a lot of freedom in doing custom rendering stuff, even without access to the source code. It was also easy for 3rd parties to offer plug-and-play add-ons.

    That is not quite the case with the SRPs.

    The issue is that the core SRP was designed to replace the chaos of extension points with a flexible API, with LWRP/URP and HDRP being implemented on top of it. The original idea was always that people would modify the RPs themselves (or write their own) instead of extending them via extension points, but over time it became obvious this was not a viable solution: creating a state-of-the-art renderer takes a significant effort, very few people have the know-how to modify the internals of the SRPs, and without some sort of common higher-level abstraction different SRPs ended up being asset-incompatible with each other.

    Add the dearth of stable extension points, which discourages 3rd party add-ons, and we see Unity kinda painted themselves into a corner.
     
  12. KamilDA

    KamilDA

    Joined:
    May 21, 2020
    Posts:
    67
    Still no blog post on the future of the graphic's repo.

    But! Noticed this morning that they un-archived it and appear to be preparing it for mirroring with their enterprise instance!

    (PS. Why in the world they choose Github Enterprise vs PlasticSCM? They own Plastic now and it's better than github in every conceivable way + can push to github if required.)
     
  13. DeathRace26

    DeathRace26

    Joined:
    May 26, 2019
    Posts:
    75
    ↑ this, they bit too much that they can't chew it now...
     
    Tanner555 and CoastKid like this.
  14. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,197
    Sounds nice.

    But given how many VR developers are (and have been for most of 2020) using HDRP by choice - on VR that is little more than a mobile phone duct-taped to a couple of lenses (Quest etc) ... I think you need to reconsider your "absolutely not suitable" declaration.
     
  15. Kleptine

    Kleptine

    Joined:
    Dec 23, 2013
    Posts:
    119
    Sure, you could use it, but it's a waste. Using a deferred pipeline (HDRP) on the Quest will make a game 4-5x slower than a forward pipeline (URP), for the exact same graphics.

    All I am saying is that there is no and never will 'one pipeline suitable for all uses'. If HDRP had to support Oculus Quest they would never be able to add the cutting-edge graphics features it does have.
     
    landonth, Camarent and GliderGuy like this.
  16. landonth

    landonth

    Joined:
    Dec 3, 2018
    Posts:
    76
    I think you may need to reconsider your stance here. As far as I know, HDRP is not supported on any of today's mobile device platforms. Can you provide a source on these developers or anyone using HDRP for VR projects for Oculus Quest? As far as I know, even the Quest 2's hardware is not equipped to handle HDRP. If someone actually got this to work, it's definitely not supported by Unity. See the list here under "HRDP is only compatible with the following platforms:" https://docs.unity3d.com/Packages/c...finition@10.3/manual/System-Requirements.html
    Perhaps you are confusing this with developers using the Oculus Link cable to use their Quest as a completely tethered HMD? Which is beside the point as it requires a high end PC to actually do all the heavy lifting not the "mobile phone" chipset inside the Oculus Quest.

    Related to the clarification above. You can't use HDRP with today's mobile platforms like Oculus Quest / Quest 2 as-is / untethered. But there are some potential exceptions of mobile platforms on the horizon though Unity doesn't currently support or provide workflows for them, e.g. HDRP could potentially run on the latest iPad Pro because it has a remarkable and modern GPU that beats any other mobile GPU in existence. (Though still underpowered compared to to a recent Console or high end PC, the platforms that HDRP is focused on.)

    It's true in many cases it would be a waste. Using a deferred path will take a heavy performance hit on most of today's mobile platforms as the GPUs are underpowered and optimized for a forward path, but it wouldn't "be the exact same graphics." There are many pros and cons to forward vs deferred in terms of graphics fidelity and features. (e.g. deferred path allows for many more local real-time lights and certain effects without additional performance penalty but yields lower accuracy in some areas, forward path has a lower performance overhead but allows for highly accurate anti-aliasing and higher geometric accuracy.) More info on that here in the HDRP docs: https://docs.unity3d.com/Packages/c....3/manual/Forward-And-Deferred-Rendering.html
    It is also worth noting that URP will soon have a deferred path which while in general will be discouraged to use on current mobile devices, it will have niche use cases for certain projects on certain mobile device platforms, and may see more adoption as mobile GPU architecture advances in the coming years. More info here on the URP roadmap: https://portal.productboard.com/unity/1-unity-graphics/c/10-deferred-renderer-support

    I agree that it makes no sense for Unity to make HDRP work on the current Oculus Quest hardware. And I concur that there is no 'one pipeline suitable for all uses' right now and there will likely not be for a very long time, if ever. Though, never say never --a decade into the future (give or take a few years) that could come into question as every platform including mobile and web will soon have GPU compute capability, which is one of the main dividing walls between URP (compute not required for legacy device support) and HDRP (compute required for the best features and performance.) There is also the major shift in traditional (OpenGL, WebGL, Direct X 11-) versus modern graphics APIs (Vulkan, WebGPU, DirectX 12+). Once the platform landscape starts to homogenize in these areas, I think it's very possible in the further future to achieve one render pipeline reasonably suitable for all uses, but still highly unlikely we'll ever have one pipeline ideal for all uses. Especially as Moore's law is dead the market will demand further advancement in entirely new state of the art tech such as real-time ray tracing and neural rendering that may create new rifts in graphics hardware architecture and APIs, render pipelines, etc. Regardless, in the case of Unity, improving the workflows that let us target multiple render pipelines flexibly is a wise path as it will get us through the current divide, and also gives us a foundation for future generations of render pipelines whenever the next major paradigm shift in computer graphics software / hardware occurs. Transitions are difficult, but important, and inevitable.
     
    Last edited: Jan 29, 2021
    stuksgens, Bioman75 and GliderGuy like this.
unityunity