[Tutorial] How to make built-in pipeline look almost exactly like HDRP

All this time I was under the impression that HDRP had some sort of secret-sauce that resulted in this "HDRP Look", perhaps it was a different BRDF that was so much better? Or perhaps it was differences in post-processing implementations like a much better ACES? Well, turns out no and no:

  • The BRDF of HDRP is exactly the same as the one from Unity 5.0+, just with multiscattering, which only slightly brightens rough metals.
  • HDRP ACES and color correction implementations are exactly the same as Post-Processing Stack v2.

HDRP w/ 100000 Lux directional light, ACES

Built-In w/ DirectionalLight.intensity 1.0, Skybox cubemap from HDRP with lowered intensity in shader, ACES, Post exposure +3.65

As you can see they are pretty much almost identical. So just get your values of light intensity, skybox intensity, post exposure right and you can replicate almost any HDRP scene (without stuff like Subsurface scattering/ PCSS shadows- of course, but you can use the assetstore for that).

And the performance is better too: (1000 vs 300fps)


Thank you.

2 Likes

Impressive test! But to me, there're still many things that make HDRP different from Built-In (and URP).

  • HDRP (and URP) additional light attenuation follows the inverse-square law.
  • The real-time reflection probe convolution is better. (check the mipmaps)
  • HDRP support more material types out of the box.
  • HDRP support reflection probe rotation.
  • ...

Yep, i agree, but mostly those are small things compared to trading off a lot of performance for some people, this was meant to be more of an myth-busting exploration for myself.
1 Like

I think there's code on Github with an implementation of PCSS that works on builtin, if I recall correctly. It still is a great pipeline despite its age.