⚠️Hybrid Renderer is still a preview package – means it’s not stable, not production ready!
This tutorial goes through the process of converting the UniversalRP template project to use Hybrid Renderer V2. If you don’t know what Hybrid Renderer is, please visit official documentation.
This tutorial is using Unity 2020.2.3f1 + URP 10.2.2 + Hybrid Renderer 0.11.0-preview.42
A picture will be visually looking good when all these things are right. – silhoutte – composition – structure – layers – colors – greyscale – 2 level shading
(not talking about concept / ideas / stories etc..)
Tested with: 2020.1.0b16.4138 + URP 9.0.0-preview.38, Windows DX11
Objects with same material & same property values
SRP batcher ON material GPU instancing OFF
SRP batched
SRP batcher ON material GPU instancing ON
SRP batched (because if SRP batcher is ON, gpu instancing will be ignored)
SRP batcher OFF material GPU instancing ON
GPU instanced
Objects with different material & differentproperty values
SRP batcher ON material GPU instancing OFF
SRP batched
SRP batcher ON material GPU instancing ON
SRP batched (because if SRP batcher is ON, gpu instancing will be ignored)
SRP batcher OFF material GPU instancing ON
Not batched nor instanced (expected because they are different materials)
Objects with same material & differentproperty values set by MaterialPropertyBlock
SRP batcher ON material GPU instancing OFF
Not batched nor instanced (because MPB values are not same)
SRP batcher ON material GPU instancing ON
Not batched nor instanced (same as above)
SRP batcher OFF material GPU instancing ON
Not batched nor instanced (because properties are non-instanced)
According to Unity Documentation about GPU instancing, user can use MaterialProperyBlock to have different material properties for each instances. Apparently the test showed that this is not true anymore in Universal Render Pipeline.
Reason:
URP shader properties are all wrapped by SRP batcher macros “CBUFFER_START(UnityPerMaterial)”. GPU instancing need to use this macro “UNITY_INSTANCING_BUFFER_START(MyProps)”
This is my hack week project. First time trying to play with DOTS. Still not really sure how DOTS work after the week but getting components data are so easy and incredibly fast…
Looking for a way to make only the UI matches to what is designed in Photoshop? Don’t want artists to change any workflow because you are in the middle of development? Try this.