1
\$\begingroup\$

I understand that unity claims the SRP is "more customisable" because you can program it with c# scripts, but is there anything the SRP can do that Built-in cannot, is it possible to achieve the same level of customisation by writing your own hlsl files in Built-in?

Nothing I've read seems to properly explain the difference and it just seems like URP is more restrictive than Built-in in terms of almost everything.

\$\endgroup\$

1 Answer 1

4
\$\begingroup\$

Well, eventually the built-in renderer may be deprecated and SRPs may become standard.

Something important to mention is that currently, the SRPs are much more complete and stable compared to other years.

The biggest advantages of SRPs are ShaderGraph and VFX Graph.

ShaderGraph is, as its name implies, a visual shader editor with nodes. Although with some limitations as of today, this package continues to expand and improve.

VFX Graph is basically an improved version of the particle system. Unlike shuriken particles, VFX Graph assets use the GPU to render, allowing for much more complex effects to be created.

Many of the new assets that are new to the Asset Store are now exclusive to either URP (Universal Render Pipeline) or HDRP (High Definition Render Pipeline), this because of what I mentioned earlier (that the built-in renderer may be deprecated).

The graphic quality is also something that improves a lot in both URP and HDRP. Unlike the built-in renderer, the default settings for each of these SRPs provide better quality right out of the box. You know the "unity look", right? Well, from experience I can say that it's much easier to escape this by using SRPs.

In short, SRPs have the advantage of being more friendly to designers (a goal that Unity has been pursuing in recent years). This does not mean that it is more restricted or limited. In fact, now it is easier to customize the graphic aspect of your project. Here's a very good example where someone created volumetric scattering as a renderer feature.

You can check the roadmap that Unity has on the different projects focused on graphics and rendering. There you can find the URP and HDRP section, where you can see the features that it currently has and those that are being worked on. Check here!

You can take a look a this discussion on the forums. According to the Unity team:

We view the Universal render pipeline as the successor to the default rendering pipeline in Unity (aka the ‘built-in pipeline’). Universal RP is designed to be the default great place for authoring graphics and deploying everywhere, allowing you to achieve beautiful visuals, great performance with maximal platform reach.


On the other hand...

while the new SRPs are more designer-friendly, several important features for more technical users remain missing. Let's keep in mind that when I talk about more technical users, I mean those who used to do low-level things (compared to a large part of Unity users), like complicated shaders, or custom lighting systems.

To give you an idea, take a look at this comment regarding the workflow with shaders in SRPs:

These three things combined (undocumented new shader syntax and shader graph limitations) makes for a massive barrier of entry for writing more technical shaders, and that's like, coming from me who's pretty hecking used to writing shaders in Unity at this point - for someone less used to writing shaders, then, to them, whatever shader graph doesn't natively support is effectively not a feature that exists in Unity

As a final note, every project has its needs. Choosing which render pipeline to use is something that should be done before creating the project in Unity. Although currently it is relatively easy to upgrade your project.

Choose what fits your needs.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Regarding your last paragraph that every project should choose its render pipeline individually: The Unity Manual has a detailed guide with recommendations for that process: Choosing and configuring a render pipeline and lighting solution \$\endgroup\$
    – Philipp
    Mar 3, 2022 at 11:06
  • \$\begingroup\$ @Philipp Yes, you're right, I totally forgot about that one. Thanks. \$\endgroup\$
    – YoshGJ
    Mar 3, 2022 at 21:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .