Search Unity

Official Universal RP Status

Discussion in 'Universal Render Pipeline' started by erikabar, Feb 11, 2020.

  1. erikabar

    erikabar

    Unity Technologies

    Joined:
    Jan 26, 2017
    Posts:
    36
    Current releases
    7.4.1 for Unity 2019.3.2f1 and newer

    Fixed high priority issues:
    Important changes:
    • Added the option to specify the maximum number of visible lights. If you set a value, lights are sorted based on their distance from the Camera
    • The number of maximum visible lights is now set to 32 if the platform is mobile or if the graphics API is OpenGLCore, otherwise it is set to 256
    • The 2D Renderer now supports camera stacking
    Full changelog:
    https://github.com/Unity-Technologi...unity.render-pipelines.universal/CHANGELOG.md

    8.1.0 for Unity 2020.1.0a23 and newer
    Features:
    • If Unity Editor Analytics are enabled, Universal collects anonymous data about usage of Universal RP
    • Optimized the 2D Renderer to skip rendering into certain internal buffers when not necessary
    Fixed high priority issues:
    Full changelog:
    https://github.com/Unity-Technologi...unity.render-pipelines.universal/CHANGELOG.md

    Next releases

    Roadmap:
    https://portal.productboard.com/8uf...s/3-universal-render-pipeline-previously-lwrp

    Current high priority issues to fix
    Multiple Spotlights affect each other's shadows when close to each other
    Shadow quality changes when more lights are visible by the camera

    Depth Texture is flipped for game view when enabling HDR or MSAA
    Camera Stacking not working on Android and iOS when using MSAA
    Sorting Fudge does not sort particles when Shader Graph and URP shaders are used
    Dynamic Resolution Rendering error when using Depth of Field in URP
     
    Last edited: Jun 30, 2020
  2. Jichaels

    Jichaels

    Joined:
    Dec 27, 2018
    Posts:
    237
    I'm on 2020.1.0a22 (latest available on the Hub) but it's still 7.2.0 and not 8.0.0, and I have to unfold the "all version" dropdown to see it. The icon doesn't show that it's available, nor the update button.

    Is it normal ?

    Sans titre.png
     
  3. saifshk17

    saifshk17

    Joined:
    Dec 4, 2016
    Posts:
    488
    Thank you, Multi-Pass is now rendering in both eyes but the camera jitter is still there. The jitter was not there when only one eye was rendering (Left Eye-MultiPass with URP 7.1.8). Unfortunately the multi-pass and multi-view are both jittering. (Unity 2019.3.0f6)
     
    Last edited: Feb 11, 2020
  4. erikabar

    erikabar

    Unity Technologies

    Joined:
    Jan 26, 2017
    Posts:
    36
    Sorry! 8.0.0 package is not there yet. Please use the 7.2.0 package on 2020.1 for now
     
  5. erikabar

    erikabar

    Unity Technologies

    Joined:
    Jan 26, 2017
    Posts:
    36
    Hi! Could you report this issue please?
     
  6. saifshk17

    saifshk17

    Joined:
    Dec 4, 2016
    Posts:
    488
    Sure, I had already reported issue with 7.1.8 two weeks ago. The same issue continues with 7.2.
     
  7. Matt-Cranktrain

    Matt-Cranktrain

    Joined:
    Sep 10, 2013
    Posts:
    129
    Looking forward to trying out 7.2.0.

    I notice that the linked project roadmap seems very out of date - camera stacking is "roughly six months" away, the roadmap doesn't look that much different to how it looked last year. Might be nice to get an update for that, so we know what's coming next!
     
  8. erikabar

    erikabar

    Unity Technologies

    Joined:
    Jan 26, 2017
    Posts:
    36
    hey Matt, thanks! The roadmap is now updated
     
    Matt-Cranktrain likes this.
  9. JesOb

    JesOb

    Joined:
    Sep 3, 2012
    Posts:
    1,109
    Do Unity 2019.3 - 4LTS will get updates of URP or development and support for 2019.3 stopped now and only small bug fixes will arrive?

    In other worlds. Do URP package will support older(LTS) Unity Versions like all asset store packages do?
     
  10. phil_lira

    phil_lira

    Unity Technologies

    Joined:
    Dec 17, 2014
    Posts:
    584
    We are aligning with Release Management to reach agreement on how to push work to 2019 LTS. We want to at least have a 7.3 package with additional features.

    In terms of LTS we will support 2019 LTS and forward only.
     
    ImpossibleRobert likes this.
  11. nomand

    nomand

    Joined:
    Dec 23, 2008
    Posts:
    44
    Multipass renders in both eyes now, but both multivew and multipass are both thousands of OpenGL errors per frame "nobody can dev, let alone release using this" kind of broken. There isn't even a fallback to a version that works. It's this or back to Built-in. Is there an ETA for these issues or a priority queue? Would be nice for this to work before new features get added that can't be used until the fundamental issues are resolved.
     
    saifshk17 likes this.
  12. konsic

    konsic

    Joined:
    Oct 19, 2015
    Posts:
    995
    Could you get volumetrics in URP?
     
    MrPaparoz likes this.
  13. MrPaparoz

    MrPaparoz

    Joined:
    Apr 14, 2018
    Posts:
    157
  14. saifshk17

    saifshk17

    Joined:
    Dec 4, 2016
    Posts:
    488
    Are you facing the same jitter in Multi-Pass as well now that you were facing in Multi-view?
     
  15. JesOb

    JesOb

    Joined:
    Sep 3, 2012
    Posts:
    1,109
    Thanks for clarify :)

    Since you actually make separate version of package for each Unity Version I suggest to use Unity versions in packages to clearly indicate this.

    e.g.
    URP 6.5.2 -> 2019_2.5.2 -> 19_2.5.2 -> 192.5.2
    URP 7.1.8 -> 2019_3.1.8 -> 19_3.1.8 -> 193.1.8
    URP 8.0.5 -> 2020_1.0.5 -> 20_1.0.5 -> 201.0.5
     
  16. nomand

    nomand

    Joined:
    Dec 23, 2008
    Posts:
    44
    Yep. At some point Multipass was buttery smooth, but only in one eye, and now it's jittery.

    Queue James Franco: Fixed, but brokeeeen, but fixed! But still broken!
     
  17. saifshk17

    saifshk17

    Joined:
    Dec 4, 2016
    Posts:
    488
    same here!
     
  18. saifshk17

    saifshk17

    Joined:
    Dec 4, 2016
    Posts:
    488
    It is just that the camera is rendering too many objects at once which is why the jitter is caused. If you keep very few objects infront then the jitter won't be there. Unfortunately there is no solution for this.
     
  19. RHylland

    RHylland

    Unity Technologies

    Joined:
    Oct 31, 2016
    Posts:
    2
    I believe this issue is an error with XR SDK and we have reproduced it here using Oculus XR SDK v1.1.5. I have verified it is fixed in master version of that (v 1.2.0). I'm unsure of the backport status of this however.
     
    ThomasZeng likes this.
  20. nomand

    nomand

    Joined:
    Dec 23, 2008
    Posts:
    44
    Do you know when 1.2.0 is going to be made available as a package? Where can we pull 1.2.0 master to test?
     
  21. cxode

    cxode

    Joined:
    Jun 7, 2017
    Posts:
    268
    In 2019.3.1f1 I cannot install 7.2 with the package manager.

    upload_2020-2-13_18-52-44.png

    I tried pressing the "refresh" button at the bottom, 7.1.8 is still the latest version detected. I also tried editing manifest.json to 7.2.0, but got an error.

     
    Last edited: Feb 14, 2020
  22. saifshk17

    saifshk17

    Joined:
    Dec 4, 2016
    Posts:
    488
    Upgrade your project to 2019.3.0f6 (the latest version)
     
  23. JesOb

    JesOb

    Joined:
    Sep 3, 2012
    Posts:
    1,109
  24. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    2019.3.1 is the latest version, try installing 7.2.1
     
  25. saifshk17

    saifshk17

    Joined:
    Dec 4, 2016
    Posts:
    488
    What difference is it making? Have they fixed the problem with Oculus XR?
     
  26. cxode

    cxode

    Joined:
    Jun 7, 2017
    Posts:
    268
    Thank you very much! Editing manifest.json to 7.2.1 worked :)
     

    Attached Files:

    Lars-Steenhoff likes this.
  27. saifshk17

    saifshk17

    Joined:
    Dec 4, 2016
    Posts:
    488
    It is causing by Render Pipeline's MSAA (4x). If you disable it, the jitter will disappear. But disabling it also makes objects have jaggery effect.
     
  28. weiping-toh

    weiping-toh

    Joined:
    Sep 8, 2015
    Posts:
    192
    Is getting SpriteRenderer and CanvasRenderer to work with SRP Batcher anywhere on the roadmap?
    I notice that it breaks SRP Batching due to MaterialPropertyBlock being used for rendering of sprite data.
     
  29. MrPaparoz

    MrPaparoz

    Joined:
    Apr 14, 2018
    Posts:
    157
    Does that mean, if we have new features on URP, we'll not have them in 2019 LTS like SRP 8.x features?
     
  30. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,225
    just like core unity we will not be backporting features to LTS, Bugfixing and minor improvements only.
     
  31. MrPaparoz

    MrPaparoz

    Joined:
    Apr 14, 2018
    Posts:
    157
    Does that mean 2D Lighting will not be fully featured in 2019 LTS? :/
     
  32. PerunCreative

    PerunCreative

    Joined:
    Nov 2, 2015
    Posts:
    113
    Any news regarding deferred rendering? Will it be compatible with 2020.1 or we have to wait for 2020.2?
     
    kinigeugfrwib likes this.
  33. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Re: roadmap...


    I'm sorry if it sounds negative but we would like you to finish your jobs with shadergraph etc before adding more and more features. Currently, there is so much missing from it and it is rather un-optimised.

    I mean I see all these dazzling new intentions on that roadmap but not a single word on helping developers achieve better work with what you already half-finished.

    I hate, hate being negative. I would only talk like this as a last resort. If this where shadergraph ends up, as it is today in latest 2019.3/2020.1 then I have to say it's simply nowhere near finished.

    You're basically providing URP for speed then removing that speed again with current state of SG.

    You prevent people from being able to dive deeper because things change a lot, that's fine. But you also don't give them a way to achieve things. Authors like @jbooth are left with no place to go. If you did optimise SG enough, and give just a wee bit more access in SG, then it would be acceptable as a compromise to dump a lot more custom nodes in. Currently that's just not possible. There's no per-vertex-calculation access for speed. There's no access to a vast array of things that are easily grabbed via vert/frag shader, states, tess, culling etc...

    This is the future of Untiy's built-in replacement, and it will require using URP basically with vert/frag shaders for performance instead of URP shaders.

    Where are the SG improvements on the roadmap?

    You want us to use URP but force us not to.
     
  34. quixotic

    quixotic

    Administrator

    Joined:
    Nov 7, 2013
    Posts:
    122
    We plan on making many improvements to Shader Graph, and have a long list of features, and improvements we want to make. The Shader Graph team are in the middle of planning, and working on having a public roadmap like Universal RP. The goal is to have that up by GDC, and it'll be hosted on the same site just a different tab.
     
    thelebaron, Corvwyn and hippocoder like this.
  35. JesOb

    JesOb

    Joined:
    Sep 3, 2012
    Posts:
    1,109
    Good to know thanks :)
    Please consider adding shader code preview and implicit control for nodes like put computation inside VertexShader or Pixel shader and other optimization techniques so we dont need to rewrite all SG shaders by hand for optimizations.
     
    Lars-Steenhoff likes this.
  36. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Thanks, I spoke to Tim and have also gathered some intel from regular devs (crusty pros ofc) and am willing to feed back. These are really simple oversights really that can go a long way if addressed.

    Thanks for listening :)
     
    Corvwyn, neoshaman and quixotic like this.
  37. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I just love that you say URP is production ready, but the documentation for shaders is scheduled from 6-12 months from now and we're forced to learn all that stuff by digging through your code every release for any practical production issues.

    And opening the node graph API so you can write actual shader nodes for the graph isn't on there, meaning you plan to keep your SG basically closed to anyone wishing to practically extend it (as opposed to fork it), nor are you planning to provide any abstraction layer fro writing practical shaders that don't require upgrade hell on every single release you make.
     
  38. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    My feedback for Unity is basically working with this, as it doesn't look near term for surface shaders. HDRP and URP are really far apart but graphs actually work fairly well with both right now assuming your template master node has decent ports.

    So I'm just hoping really we can get dirty with function nodes that operate per-vertex so we can at least make everything almost as fast as our vert/frag stuff (assuming bandwidth isn't the issue). While this doesn't work how you would like, it would greatly improve performance if you were ALU bound (I am, surprisingly), and it's compatible with the existing lit / unlit templates.

    Given vert/frag with function nodes -> master, the perf and ease of dev cannot really be much different from if you were using surface shaders. What are we missing?

    Going to call upon the rendering gods to chip in as well as I do respect my betters @bgolus don't hide :)
     
  39. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Quite a lot, actually
    • want to feed data from a compute shader into a shader? Nope.
    • Want to do custom instancing code? Nope.
    • Want to extend the shader graph with your own nodes with options for the user to select? Nope.
    • Want to add tessellation? Nope.
    • Want to do a geometry shader (ok, bad idea, but) ? Nope.
    • Want to decode stuff in the vertex shader and pass to the pixel shader for use? Nope.
    • Want to generate shader code based on use selectable options? Nope.
    • Want to write multipass shaders? Nope.
    • Want to write custom shaders for systems other than traditional materials, like terrain, post processing, etc? Nope.
    • Want to write shaders that run in all 3 pipelines? Nope.
    • Want to understand and optimize the code in a maintainable way? Nope. What the shader graph outputs is what you get, period.
    • Want to do custom lighting functions? Nope
    And this is just off the top of my head.
     
  40. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,618
    @erikabar @phil_lira
    I don't fully understand this, please bear with me if I ask the obvious.

    This isn't meant to put URP in a bad light, I just want to make sure I really understand it. It's an important topic to me, because we're at the beginning of a new project and need to choose what tech to use.

    Features that are currently missing in URP, compared to built-in renderer, such as Point Light Shadows (1, 2) for example, do not get implemented for Unity 2019.3/.4 LTS.

    Important question: Therefore URP won't have feature parity with built-in renderer for the entire Unity 2019.4 life cycle?
     
  41. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I see yeah. I'm using only URP and the game is for all platforms. By being able to do a lot of calculations in vertex I can solve all my problems. I don't need any options or most of what you need because I don't have customers to support so I really don't have your level of difficulty or needs.

    I do custom lighting, and optimize in a maintainable way just fine with SG as it is. I use a custom function early on and do all my lighting in there. It's in an easily maintained main.hlsl file the custom function points to.

    What do you mean? It's not going to change your code cos it's just a glorified code combiner and not a compiler, which comes later.

    I can see now how much hell it is for asset store authors, but it's not that bad for individuals on games (with a few features to come).

    Is pulling existing lighting from HDRP/URP into your own vert/frag shader a possibility, maybe with some tweaks on Unity's side? Perhaps surface shader-lite.
     
  42. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I have a post which gets into how they could make this easier but they have not responded to it.

    https://forum.unity.com/threads/making-srp-shaders-easier-to-write.775085/#post-5158433

    The problem is not just having a consistent lighting function to call; rather the ever changing combinations of special features as well, like all the VR rendering hooks, shadow cascade uvs being computed on the vertex in some cases, but per pixel in others in 7.2. New passes being added for deferred or raytracing. Having to manually keep up with all these changes and ship new versions for each one when the asset store structure only only allows per Unity version uploads, then making and testing across all of these versions when you make your own changes. On top of that, some code is platform dependent and on platforms I can’t even test on because I don’t have access to them, so all you can do is try to port it and wait for a user to report an error. And some of the changes to the structure are large enough to require a complete rewrite of my templates; I already have 4 versions of the code targeting 3 LWRP version and one URP version (note some versions just don’t work anymore), and the latest URPs SG code structure is radically different, so I’ve actually been upgrading the version from 7.16 hoping I’ve found all the changes because the adapter will require a complete rewrite for 7.2, which will most likely break tessellation and my vertex based workflow for meshes.

    this whole thing is stupid and totally avoidable, and has made my job 100% keeping up with SRP issues, and totally not worth the money the entire product line makes to do. I wrote all of MucroSplat on Surface Shaders because this was the exact issue I was dealing with on MegaSplat, so now I have it times 3 because they seem to believe that asset store authors should be abstracting their pipelines differences in their products or split the tiny market in 3 when they themselves don’t even pull compatibility between their own pipelines off.
     
    Last edited: Feb 27, 2020
    NotaNaN, protopop, pachermann and 6 others like this.
  43. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Shader graphs hide code complexity - That's the basic job of any node which is not just a wrapper for an intrinsic. As such, it's very easy to write less optimal shaders and not even realize you're doing it. In my view, shader graphs are wonderful for shaders which are close to the art- one off's and special effects, etc. But they fall down massively when designing shader systems.

    Could you imagine what it would look like to rewrite the Lit shader, including all of its optimizations and features, in a shader graph? I know of no shader graph that could do that right now, on any platform, and rightfully so because that isn't the reason to have a shader graph. A shader graph is fundamentally about trading off some flexibility and performance for ease of use- ease of use which opens the task to a larger audience so that you can get more specific shaders designed for the art use case. But there's a cost to those abstractions, especially as complexity grows (both in the user interface becoming unmanagable, and the code being sub optimal).
     
  44. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    Built-in renderer is still my all time favourite,

    It never get's updates, so it never breaks :) ( some things still manage to break ).
    And the new mobile devices are getting faster every year so performance is no longer the only issue,
    I mean the new Samsung phone has 16 gb of Ram, that's much more than on a playstation 4.
     
    PutridEx, jdtec, protopop and 2 others like this.
  45. guitarjorge24

    guitarjorge24

    Joined:
    Oct 4, 2016
    Posts:
    12
    Awesome! The PPv2 support was much needed! For some reason when I use URP's Integrated post-processing I get flickering when using Bloom. But when I change to using URP with PPv2 the flickering is gone and it works fine. Do you know what could that be?

    I made a more detailed thread about the problem here:
    https://forum.unity.com/threads/bug...h-urp-7-2-1-universal-render-pipeline.839968/
     
  46. transat

    transat

    Joined:
    May 5, 2018
    Posts:
    779
    Installing URP 8.0.1 now. Fingers crossed.

    EDIT: Whoops. Too early. Still no ShaderGraph 8.0.1 in the Package Manager.
     
    Last edited: Mar 4, 2020
  47. RoughSpaghetti3211

    RoughSpaghetti3211

    Joined:
    Aug 11, 2015
    Posts:
    1,708
    With Unity not attending GDC where can I go to see the public roadmap
     
  48. quixotic

    quixotic

    Administrator

    Joined:
    Nov 7, 2013
    Posts:
    122
    We'll be recording the public roadmap talk (that would have happened at GDC) and posting it on our YouTube channel.

    For the more detailed Shader Graph specific roadmap we'll be posting that online.
     
    Lars-Steenhoff, JesOb and Peter77 like this.
  49. quixotic

    quixotic

    Administrator

    Joined:
    Nov 7, 2013
    Posts:
    122
  50. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    Tesselation will be a HDRP only feature?
    What about URP?
    The classic renderpipeline also had tesselation. If we want feature parity we would need tesselation to work on URP too.