Hi,
In the past few years, while improving each render pipeline for its specific usage, we have been working on unifying more and more of the pipelines’ systems (eg: volume system, render graph, rendering layers, rendering settings,…) and bringing more parity between the pipelines in terms of functionalities for Shader Graph (custom renderer features and custom passes and post process) and VFX Graph (smoke lighting, decals, depth buffer and color sampling,…). On top of this, we worked on improving the coexistence of render pipelines, which highlighted all the limitations and the complexity of such workflows.
With the opportunity of building the next generation after Unity 6, it is time to simplify our rendering offering, while at the same time, building on the features and benefits that were added to the scriptable render pipelines.
First, we will remove the Built-in render pipeline to simplify our offering. Most productions shipped in the past year have used URP or HDRP, and many productions have already successfully upgraded from Built-in, enabling any combination of better production workflows, scalability, CPU/GPU/Memory optimizations, or improved visual fidelity (to know more you can check this « Best practices for migrating from Built-in Render pipeline to URP » webinar). Most users and studios we interviewed said that they got a lot of benefits from the upgrade and love the SRPs.
We know that upgrading a project can be time consuming or risky and should not be rushed. This is why the Built-in render pipeline will be maintained in the Unity 6 generation for a long time, giving you multiple years to plan your transition. If you are starting a new project, we highly recommend you using URP or HDRP.
Second, we are unifying the scriptable render pipelines. But what does that mean?
We are combining the best of what both render pipelines have to offer.
- Shared rendering data (lights, cameras, probes, sky…) to author once and be able to deploy anywhere. The data model will be based on industry standards and advanced parametrization similar to what is offered in HDRP. This will allow you to author lighting using physical light units to more easily realistically light a mix of indoor and outdoor environments. You will still be able to author light intensities in an equivalent way as in URP or Built-in RP.
- Manage rendering settings and the configuration and compatibility of features with devices, by integrating them into Build profiles to easily switch rendering configurations between target platforms. Offer a standard Lit shader based on OpenPBR proposing multiple scalability tiers to balance visual quality and performance.
- Offer multiple pipeline configurations all running on the Render Graph architecture. We will offer specialized renderers to get the best out of different types of hardware architectures (eg: tiled mobile GPUs and PC/Consoles GPUs) while offering a unified customization and extensibility API.
We are planning as well to improve productivity and user experience for our tech artists tooling, with a new unified UX and backend shared across our node based tools (Shader Graph, VFX Graph and the new animation tools).
We are also working on improving shader variants management and compilation, in order to reduce build, loading and iteration times which can make you lose precious hours during productions.
Finally, we know that a lot of users enjoy creating shaders with code, and we want to make it easier for them. In Unity 6 and below, with Scriptable Render Pipelines, Surface Shaders are not available. While you can code shaders with ShaderLab, often reusing the render pipeline shaders provided in the pipelines packages, this can be error prone and complicate upgrading to a later Unity version. In the next generation, we want to offer the possibility to code shader blocks and assemble these blocks either in Shader Graph to allow other artists to add functionalities via nodes, or in the equivalent of a standalone Surface shader.
To sum up, we are:
- leveraging and reusing the systems developed in the past years
- unifying rendering data around more modern and powerful industry standards
- taking the best of URP and HDRP inside a single rendering and customization framework
- unifying and improving user experience for tech artists, coders or non coders
- improving compilation and iteration times
With that, we want to offer a simpler, more productive, powerful and scalable graphics engine to push performance and visual fidelity on all platforms, while simplifying your ability to reach more platforms, and more easily reuse or share assets, tools and plugins.
You can find our Unite 2024 roadmap presentation on the subject here:
We hope you like the plan, and we will share more as we move along the development process.
As always, please share your feedback. There are still multiple unknowns and we might not be able to answer all questions at this stage of development.