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 What's the status of Coexistence? And the impact on features?

Discussion in 'Graphics Dev Blitz Day 2023 - Q&A' started by sacb0y, May 24, 2023.

  1. sacb0y

    sacb0y

    Joined:
    May 9, 2016
    Posts:
    806
    I didn't see it mentioned at GDC, but I could see the impact of coexistence in the roadmap. Not a lot of major new stuff announced for HDRP, but several foundational features coming to URP.

    But what I found odd was no mention of multi-scene management stuff.

    So what's the general status of coexistence? Is coexistence still going with the idea of having a URP scene and an HDRP scene, or is the concept being more streamlined? And is HDRP on something of a feature freeze until the coexistence project is further along? Cause I assume stuff like the water system needs to be made for URP for coexistence to be viable using that asset.

    For me coexistence is the most important thing I'm looking forward to. If it works well, I intend to switch my project from URP to HDRP for the PC version with URP for mobile. But I have no idea what the time frame or implementation will be.
     
    Last edited: May 24, 2023
  2. ModLunar

    ModLunar

    Joined:
    Oct 16, 2016
    Posts:
    372
    sacb0y likes this.
  3. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,481
    BIRPURPHDRP
     
  4. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    4,552
    Probably minus BiRP
     
  5. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,353
    UHDRP
     
    DevDunk likes this.
  6. AljoshaD

    AljoshaD

    Unity Technologies

    Joined:
    May 27, 2019
    Posts:
    185
    With co-existence, you'll be able to install both pipelines in a single project and have different scenes use one or the other pipeline. Work on co-existence is still ongoing.

    In 22.2, we achieved an important milestone where you can install both pipelines in a project and build the player. However, the build times are still prohibitively long when both pipelines are installed due to the increase in shader variants.

    In 23.1, we added variant stripping when using multiple pipelines, which significantly reduces the build time. There are still a lot of limitations. For example, the built player can still contain assets from the other pipeline and there might be an impact on memory usage. Also, there is additional work required on the workflows. We don't recommend using two pipelines in a single project.

    We are working on a technical update of the current state and aim to share this around the summer.
     
    ModLunar, ontrigger, sacb0y and 6 others like this.
  7. sacb0y

    sacb0y

    Joined:
    May 9, 2016
    Posts:
    806
    Does the multiple scene workflow depend on prefabs and such? Like is it more like having a copy of the scene or is there some sort of synced setup? How does this work with materials and such, variants?

    Like if I wanted to prepare for the long term so there isn't a major transition issue when this feature comes properly, what sort of things should I do especially as a URP user?
     
    Last edited: May 25, 2023
  8. remi_unity163

    remi_unity163

    Unity Technologies

    Joined:
    Jun 19, 2018
    Posts:
    16
    As mentioned above, coexistence is in active development. We are still designing the scalability workflow to productively author a project with several pipelines.

    When experimenting with what we have currently in 2023, we separate what is pipeline specific in a separate additive scene. We do this in order to load only the additive scene corresponding to the pipeline you are using. So we have one scene for the geometry, the camera etc. And we additively load a scene dedicated to URP or another one dedicated to HDRP. Dedicated additive scene contains lighting, sky management, exposure, post process, ... All element that are really specific to a pipeline.

    This require some scripting to load the base scene and the additive scene corresponding to the pipeline you are using, and also work around the current limitation of the engine (for instance, the base scene need its lightmap to be updated to the one computed with the relevant additive scene).

    Material used are build with ShaderGraph, using multiple target, one per pipeline.

    Working with a dedicated scene per pipeline is not our preferred workflow for the future since it requires effort to keep them in sync. We aim to solve this in the future. However, it's a sensible approach currently. It will allow you to isolate pipeline specificities that will perhaps require to be reauthored later.
     
  9. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,078
    So I guess it will have toggle somewhere at here to switch between urp and hdrp mode at the same scene?
    upload_2023-5-25_21-52-35.png
     
  10. D1234567890

    D1234567890

    Joined:
    Aug 11, 2019
    Posts:
    56
    Have you solved the issue of the Additional* components for cameras and lights etc being automatically added and interfering with each other if both HDRP & URP packages are installed? The moment you open one of your RP specific sub scenes they will get polluted if the wrong RP is active.
     
  11. remi_unity163

    remi_unity163

    Unity Technologies

    Joined:
    Jun 19, 2018
    Posts:
    16
    Not fully yet but we are working actively on this specific part at the moment. Currently, it is true that you need to be cautious: it will annoyingly add the component but should not disrupt your data for the pipeline you designed the additive scene for.
     
  12. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,353
    This is really not ideal. Like no, im not going to have two scenes and keep them in sync. It's probably better to implement some of the HDRP renderfeatures and passes into URP than having to author two versions of the same scene with different materials, prefab instances, lights and whatnot.
    Will this two authoring scene scenario remain forever or you are planning into merging both pipelines and disable/enable component/render features based on platforms?