URP Documentation has this feature comparison table showing feature parity with Built-in RP,
e.g. telling what is supported and not yet supported.
This blog post shows the comparison in terms of usage.
Based on Unity 2020.2.2f1 + URP 10.2.2
Category: Uncategorized
Stereogram
URP and GPU instancing & MPB
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 & different 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 | Not batched nor instanced (expected because they are different materials) |
Objects with same material & different property 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)”
Solution:
Particle system job system
Brighton GameJam – Crispy Crash
The theme is “Crisp”. A just for fun game done in 2 days.
Disclaimer : I love Unity more than crisps xD
https://mingwai.itch.io/crispycrash
Custom SceneView DrawMode
The beautiful scene is from the asset store package:
RPG Medieval Kingdom Kit by BEFFIO
Download : https://drive.google.com/open?id=1hloorB11hPcIXIIKBIRzqvon9mpmbYPK
If you are looking for doing it in custom SRP, please visit my github
How to use :
Just add your shaders and names to the CustomDrawModeAsset
Thanks Vlad Neykov for helping me in making this little tool
( This is one of the tools I made during #UnityHackweek )
[Custom SRP] How to use Unity features?
Update:
If you are using 2019.1+, you might notice there is a big change to the SRP APIs.
I’ve created a new repository and you can grab here. Much cleaner and minimal.
https://github.com/cinight/CustomSRP
Here lists out exact what codes enable the Unity feature when making our custom SRP.
*Note that my codes may not be perfectly optimised, but the concept itself won’t change.
(!) Alert: Below information might be outdated. I stopped updating this note after 2018.x releases.
Indicators:
In pipeline code
In shader code
✅ Doesn’t need to specifically care about it in codes. Write the codes as usual.
A change for blogging
I havn’t been authoring any post for years as I had moved to United Kingdom in 2016, which is definitely a big change in my life and I enjoyed so much.
I’m working in Unity now and found that I gain new knowledge EVERYDAY.
To tackle the knowledge wave, I used to keep links or upload pics to my personal fb and share with my fds in game industry. But I found that it’s limiting my content sizes and hard for me to trace the notes.
And for the blog here, the dark theme was too unclear and spaces are too small. So now I changed the theme to see how it goes 😀
So for now on, I hope to share the knowledge I gained and this blog would also serve as my own note.
I’m currently working on Shader tutorials which are having lots of pictures and simple description so that people who are new to Unity can learn the techniques as well as the software itself.
Learning would never stop!