Search Unity

Official SRP v11 beta is available now

Discussion in 'General Graphics' started by ali_mohebali, Jan 27, 2021.

  1. ali_mohebali

    ali_mohebali

    Unity Technologies

    Joined:
    Apr 8, 2020
    Posts:
    119
    Hi everyone,

    As part of the Unity 2021.1 beta release, the v11 Scriptable Render Pipeline (SRP) packages are available now. The team has put the majority of our effort for this release into improving the quality, stability and performance of SRPs. Read to learn about some important updates and features in this beta release.

    SRP packages are part of the core
    With the release of 2021.1, graphics packages are relocating to the core of Unity. This move simplifies the experience of working with new Unity graphics features, as well as ensuring that your projects are always running on the latest verified graphics code.

    For each release of Unity (alpha / beta / patch release) the graphics code is embedded within the main Unity installer. When you install the latest release of Unity, you will also get the latest URP, HDRP, Shader Graph, VFX Graph, and more.

    Tying graphics packages more closely to the main Unity release allows better testing to ensure that the graphics packages you use have been tested extensively with the version of Unity you have downloaded.

    Power users, fret not – we have not taken away your ability to use a local copy or a custom version of the graphics packages. You can still override them in the manifest file, just as you always have.

    URP Point Light Shadows
    Point light shadows, one of the most requested features of URP, are now available. Point light shadows help you to create more realistic simulation of lamps, torches, campfires, and other local sources of light in a Scene.

    Static shadow caster for HDRP
    The static shadow caster lets you cache just a portion of non-directional shadow maps. With this setup, HDRP renders shadows for static shadow casters into the shadow map based on the light’s update mode, but it renders dynamic shadow casters into their respective shadow maps for each frame. This can result in significant performance improvements for projects with lights that don’t move or that move infrequently but still need to cast dynamic shadows.

    URP 2D Renderer Improvements
    2D Renderer now supports the material property BaseMap used in URP, making SpriteRenderer, TilemapRenderer and SpriteRenderer directly set the diffuse texture from shaders made in URP or with Shader Graph.
    Camera Sorting Layers Texture can now be accessed and manipulated in shaders. Applications for this include creating water or heat haze effects similar to the Opaque Texture in URP.

    Release changelog details
    If you are interested in the granular details of what has been fixed or changed, you can always refer to the latest changelogs:
    URP Changelogs
    HDRP What’s New, Changelogs
    Shader Graph Changelogs
    VFX Graph Changelogs

    Getting started with Unity 2021.1 beta
    A friendly reminder that before you take the beta for a spin, we encourage you to back up your project. This advice always applies when you are working with our beta and Pre-Release packages. Remember, the beta is not intended to be used for production – it’s for you to evaluate new features so that we can integrate your feedback. For projects in production, we recommend that you use verified packages and our most recent full release, Unity 2020.2.

    For information on what we are working on for next releases, you can always visit our Graphics Product Board. You can use the public board to vote for features and your priorities, as well as submit new ideas or feature requests.

    As always, we value your feedback and would be happy to hear from you. Please use this thread if you have any comments or questions about this release.


    Cheers!

    The Unity Graphics team
     
  2. Bosozuki

    Bosozuki

    Joined:
    Dec 19, 2013
    Posts:
    63
    Just a quick question

    When you say mention "graphics packages are relocating to the core of unity" Does this mean we no longer install URP/HDRP as a package after creating a new project?
     
  3. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,225
    Think of it like a module of Unity that you can turn on or off. Some of the template projects (universal template for example) has the module turned on by default - others do not. If you have a project that is not started with the modules enabled and want to enable HDRP or URP you can do this via the package manager.
     
    Pr0x1d, NotaNaN, tatoforever and 3 others like this.
  4. Camarent

    Camarent

    Joined:
    Feb 19, 2014
    Posts:
    168
    Not sure I understand what you mean. It will be working as package like before but will be installed by default or it will be available through other menus? I mean if i started with template where should look to find source code for the pipeline.

    I also have few questions about cross srp workflow because we are planning to deploy urp for mobile and hdrp for console/PC from one unity project. Does it change somehow the process of switching between SRP? Like working with lights, volume and etc?

    Will be standard URP and HDRP standardized so when i switch between pipelines i do not need convert materials if i use standard shaders?

    Can you also help me and answer a question about shadergraph cross pipeline shader compilation (shadergraph that works for all pipelines simultaneously)? As I know it should work but it actually breaks srp batcher so it can’t be used.
     
  5. valarnur

    valarnur

    Joined:
    Apr 7, 2019
    Posts:
    440
    Is it possible to upgrade 2020.2 SRP project into 2021.1 ? Do I need to delete SRP packages in folder when opening it in 2021.1 ?
     
  6. ali_mohebali

    ali_mohebali

    Unity Technologies

    Joined:
    Apr 8, 2020
    Posts:
    119
    SRPs will not be installed by default. Built-in render pipeline is still the default pipeline. If you want to enable SRPs, you can do the same way as you did before. That is through the package manager window.
    If you are upgrading and your project already has the SRP packages, they will upgrade to the version matching the current Unity release automatically.

    Same place as it was before ProjectFolder/Library/PackageCache/.
    Now if you had added the packages through the manifest file pointing to a local folder, they will be in the same place.

    Nothing changes there.

    We have a bug report on the issue with the SRP batcher you are mentioning. The team is looking at it currently.

    Interoperability between the pipelines, where make sense, is something we are working on actively. Having said that, it will take time. And as it stands right now, it is no where near ready and it's not a pathway we recommend at the moment. I also want to highlight that for the next near term releases, improving quality, stability and featureset of individual URP and HDRP pipelines is the major part of our focus and efforts.
     
  7. ali_mohebali

    ali_mohebali

    Unity Technologies

    Joined:
    Apr 8, 2020
    Posts:
    119
    No, you won't need to delete anything. The SRP package upgrade process is still the same as it used to be before.
     
  8. Neonage

    Neonage

    Joined:
    May 22, 2020
    Posts:
    287
    Is it a module that I can turn off during Editor installation, or only during project creation? Because I would never want to download HDRP with each new release. (especially since my laptop doesn't support it at more than 10 fps)

    Unity Core is getting so much bigger with each tech release that for me it takes more than an hour to download and install a new version.. I'd rather download as lightweight as possible Unity Editor, and only then download all the packages I need via Package Manager.

    Just looking back at previous releases:
    Unity 2018.4 - 3.0 GB.
    Unity 2019.4 - 6.4 GB..
    Unity 2020.1 - 7.0 GB...
    Unity 2020.2 - 8.7 GB....
    Windows IL2CPP module enabled*

    BUT, Unity 2021.1.0b5 is 4.2 GB! Is this only because of the beta?
    Will this size increase even further after relocating Graphics to the core?
     
    goncalo-vasconcelos likes this.
  9. BattleAngelAlita

    BattleAngelAlita

    Joined:
    Nov 20, 2016
    Posts:
    400
    ali_mohebali
    How about SRP-api updates?
     
  10. valarnur

    valarnur

    Joined:
    Apr 7, 2019
    Posts:
    440
    Additional question, can this data re-structure happen or backport in 2020.2 to have less size?
     
  11. FernandoMK

    FernandoMK

    Joined:
    Feb 21, 2017
    Posts:
    178
    I would like the unit to implement the incremental updates, which would just fix the bugs, and there would be no need to download the entire editor again. :(
    It would be much better to download updates from 30mb to 100mb, than 8GB every week due to the hotfix.
     
  12. ali_mohebali

    ali_mohebali

    Unity Technologies

    Joined:
    Apr 8, 2020
    Posts:
    119
    With SRPs moving to core nothing changes here. In fact SRPs have been shipping with Unity editor for the last few years, just as a package instead of a core package.

    I believe verified packages have always been shipped with the editor releases. I guess the thought behind it is that, if a package is verified, it needs to be available right from the installation of the editor. So that users can setup and configure their projects even if they are offline. Having said that, I'll make sure to take back your feedback and pass it to the responsible team at Unity.
     
    Tanner555 likes this.
  13. ali_mohebali

    ali_mohebali

    Unity Technologies

    Joined:
    Apr 8, 2020
    Posts:
    119
    Sorry, I didn't understand the question. Are you referring to the survey we did recently to improve the SRP apis and the results of that?
     
  14. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    @ali_mohebali is there any way to identify SRP versions from Graphics github repo now that the SRPs are distributed through Unity core?

    PM now just reports every 11.x as 11.0 which isn't helpful at all. Github repo doesn't have any tags for any 11.x versions so I can't sync the github changes to specific editor version anymore. I did peek into library/packagecache and shipped package didn't really give me any more info, in fact changelog was dated to last year, suggesting it wasn't even updated anymore.

    This is an issue now as I frankly don't know what I'm using now, what fixes are in and what are not.
     
    goncalo-vasconcelos likes this.
  15. BattleAngelAlita

    BattleAngelAlita

    Joined:
    Nov 20, 2016
    Posts:
    400
    Not only survey but overall API state. It feels like API development was abandoned half way through. Last API update was in 2019.4.11, last major update is somewhere around 2019.1
     
  16. valarnur

    valarnur

    Joined:
    Apr 7, 2019
    Posts:
    440
    In HDRP 11.0, VFX graphs prefabs take 3 additional seconds to intilize when entering Play mode.
    Play mode does App reload, scene is loaded and then VFX are delayed by 3 seconds. Is this known? Could you reduce that initialization?
     
  17. ali_mohebali

    ali_mohebali

    Unity Technologies

    Joined:
    Apr 8, 2020
    Posts:
    119
    We definitely haven't abandoned it. But also perhaps we have not updated or added more since then because URP/HDRP has been able to work on adding more features without needing more specific APIs. We do rely on feedback from our customers as well and that's why we did the recent survey. To make sure we collate feedback to improve or add more APIs.

    Just so that I can make your feedback actionable from our side, are there any specific areas/use cases that you feel like are abandoned halfway through and needs more love from us?
     
    NotaNaN likes this.
  18. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    One thing I did notice was that even 2021.2.0a5 and HDRP 12 still have an option and a button to check if you are on the latest HDRP version (at the top of HDRP Wizard dialog).

    Since HDRP is now shipped along with Unity core, having a check for this feels frankly quite pointless.
     
  19. ali_mohebali

    ali_mohebali

    Unity Technologies

    Joined:
    Apr 8, 2020
    Posts:
    119
    Thanks for the feedback. We are in fact rolling out a process to tag the git repository with the releases. We'll backdate this as well. Would that help solve your use case?

    Good point, thank you for raising that. Let me double check this with the team.
     
  20. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    As long as one can find specific HDRP releases (per Unity engine / core version) on github, it would be fine. Tags would be ideal :)
     
  21. BattleAngelAlita

    BattleAngelAlita

    Joined:
    Nov 20, 2016
    Posts:
    400
    Yeah, "new features, features, features". How about usability for URP / HDRP users, and SRP-api users(your teams is api users too)? Moreover, i don't think that URP/HDRP guys are satisfied with SRP-api too, but they just find kluges and workarounds for lack of features.

    Shader/materia setup: No Replacement Shader(overrideMaterial is not near a analogue)
    No multi pass
    Broken shader fallback
    No MaterialPropertyBlock analogue

    RenderTarget API: Half of api work with RenderTargetIdentifier, half with RenderTexture, and mixing different api-calls can be very hard or not even possible

    CameraAdditionalData/LightAdditionalData was a nice workaround for its time, but now it's definitely time to make custom properties for standard components. And maybe not only properties, but methods as well(i.e. to setup custom per renderer data like a standard lightprobes)
     
    ali_mohebali, Elringus and NotaNaN like this.
  22. Hugo-Bille

    Hugo-Bille

    Joined:
    Jul 6, 2012
    Posts:
    6
    I've been waiting for something like the Camera Sorting Layers Texture to help upgrade my 2D game to Universal Render Pipeline from Built-In. My trouble has been that the art style is heavily dependent on grab passes, for various smoke particles and overlay effects. It's great that I can use the CSL Texture so I won't have to render all of these effects on top of everything, but I was wondering if there is any way this could be expanded to cover something like a list of CSL Textures at different depths? That would really help with the process of upgrading our game without having to rearrange hundreds of scenes. I appreciate that batching these blit passes is a huge boon for performance and that we'll want to do some of that work either way, but just having the option to run several of these on top of each other would be so much more artist-friendly.

    Ideally you would also be able to turn these blit passes on or off at runtime somehow? At present it looks like we are grabbing the screen regardless if anything on-screen (or even in-scene) needs it or not, but I might be mistaken.
     
  23. LIVENDA_LABS

    LIVENDA_LABS

    Joined:
    Sep 23, 2013
    Posts:
    377
    How about FIXING your motion Vector Output in HDRP, as of 2020.2. nothing! This is such a basic requirement and we cannot understant how you can release a product by completely disregarding such a simple but VERY important feature, why do you guys do this? they were working fine in version up to 2020.1 and nothing in 2020.2
     
  24. Matjio

    Matjio

    Unity Technologies

    Joined:
    Dec 1, 2014
    Posts:
    108
    Hi @LIVENDA_LABS ,
    We are not aware of any critical issue or regression with Motion Vectors in 2020.2. Could you please give more details and ideally submit a bug or share with me a bug ID?
     
  25. LIVENDA_LABS

    LIVENDA_LABS

    Joined:
    Sep 23, 2013
    Posts:
    377
    Thanks for your reply! really appreciate it and we figured out why motion vectors were not working. Due to lack of updated documentation It took us more than two weeks to solve 'well' find a workaround for this issue and now they are working perfectly and we can finaly submit the latest upgrade for CTAA which will work in all version of Unity upto the latest one.

    As of HDRP 10.2 Unity introduced the experimental Render Graph system and it is ON by default in any Unity version using 10.2 and above. When it is enabled, motion vector Data is un-accessable via the standard Postprocessing pipeline method. We first seen it on in the render debug viewer (it is on by default and when it is unchecked the next time pressing play it defaults back to enabled! ) and we didn't realise there is an option to turn it off in the HDRP default settings right at the top! as soon as we disable it, bang, motion vectors working again. This setting is not available in Unity version prior to 10.2 in the Default HDRP settings.
     
  26. elijad

    elijad

    Joined:
    Mar 19, 2020
    Posts:
    47
    I have a few questions about SRP batcher.
    1. Why do meta passes break SRP batching? They don't really matter for runtime as much as I'm aware of. Makes supporting srp batcher much harder than it should be.

    2. Will there be a simpler way to support custom light probes?

    3. Why is UI batching not supported? When?
     
  27. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    So checking out both 11 and 12 I noticed that a lot of bug fixes don't seem to make it back to previous versions. Is this just a matter of time before they are backported, or do we need to be following the latest to get bug fixes?
     
  28. ali_mohebali

    ali_mohebali

    Unity Technologies

    Joined:
    Apr 8, 2020
    Posts:
    119
    Hi @elijad, can I get some more details on this please. Are the meta passes breaking SRP batcher at runtime? They should be stripped from the build as they are not used at runtime. If they are not stripped then its a bug.
     
    Last edited: Apr 13, 2021
  29. elijad

    elijad

    Joined:
    Mar 19, 2020
    Posts:
    47
    Haven't tested it outside of editor actually. At the very least if they don't affect the srp batcher at runtime, this is not reflected in the inspector. Shaders are shown as incompatible with SRP batcher and are not batched with it in play mode if the meta pass is not compatible with SRP batcher.
     
  30. ali_mohebali

    ali_mohebali

    Unity Technologies

    Joined:
    Apr 8, 2020
    Posts:
    119
    @elijad This is a bug, can I ask you to please file a bug for this (if you haven't already), would be also grateful if you pass the bug number to me so I can follow up.

    (Will also follow up on the other two points in your original message)
     
    Last edited: Apr 13, 2021
  31. ali_mohebali

    ali_mohebali

    Unity Technologies

    Joined:
    Apr 8, 2020
    Posts:
    119
    @snacktime short answer: It could be a matter of time, especially if they are recently fixed.

    Longer answer: critical, high user pain bugs and regressions will get backported to LTS versions. We also try to backport as many of the other bug fixes as possible, especially to the latest LTS version. But depending on the amount of relevant code changes between the releases and effort required to assure stability in the older versions, specially LTS ones, not all bug fixes will be backported.
     
    AntonioModer likes this.