2021 lts has faster build times, better vfx graph, better shadow rendering, better il2cpp generics support, better openxr support for android, and native visual scripting.
Quite a list I like, but sadly not worth the performance downgrade
Is visual scripting usable in that release? and how’s its FSM? last time I checked it was a binding nightmare and ended up making my own.
also got some specifics on better in vfx graph & shadows & oxr & generics? stuff that you found out in-production because if I start adding the changelist that list’ll need a proper database.
Haven’t used visual scripting myself, but more people are picking it up since it’s official apart of the engine now.
(Skinned) mesh sampling is something in vfx graph which can be very cool if used properly (since you can’t always bake an sdf)
For shadows there is Conservative Enclosing Sphere, which has better frustum culling for shadows. Especially with high FoV HMDs this might be useful
OpenXR is out of preview for android iirc. At least it shows up properly by default. Not sure about changes under the hood tho
Haven’t used generics much lately, so can’t tell much about that, but it can be very beneficial to some.
Performance wise on the quest there is a 10-30% performance dip (really depends per project. I actively monitor the vr forums, and saw these reports).
If you really really need any of these features you might want to upgrade to 2021lts, but for 90% of games/applications there is no noticeable benefit outside of faster build times
For Nintendo Switch and built-in renderer, 2019 LTS is better than 2020 LTS and 2021 LTS. Tested with many isolated projects and my current game which is a commercial grade large project (128GBs).
I also have other reports and tests that I did with URP (7, 10, 12,13) vs Built-in on the Nintendo Switch that might be nice to add it to the google docs:
My findings are, overall URP is faster in absence of lighting, probably due to GPU buffers not being constantly updated (thats SRP Batcher good plus). However in presence of dynamic lighting (specially with shadows) the drop is quite significant (50%). In this regards built-in does a better overall job, slightly less in absence of lighting but way way more with lighting. In other words, URP is a better choice if your game has little to no dynamic lighting/shadows (or is fully baked) and really bad if your game does dynamic lighting/shadowing.
I tried many types of environments and scenes situations for my testings (most from my game): outdoors, indoors, small, large, few & many mesh/material instances, dynamic lights, static lights, baked lighting, not bakes, you mention.
Also, in all testing, 2019 had the fastest runtime player averaging 5-7fps higher (from a 30-60fps cap rate) for both Built-in and URP versions. Keep in mind, this is only on Nintendo Switch with Unity (2019, 2020 and 2021) LTS versions. I can’t comment for other consoles/platforms.
Yeah, I forgot to mention that Nintendo Switch fps are maxed to display refresh rate, so games are always in the 30 - 60 fps range. In my tests 5-7fps represents around 8-11%.
I did similar tests but only with one directional ligth, URP was much faster than builtin in 2020.1.17 https://elefantopiainc.blogspot.com/2020/10/benchmarks.html
then to sustain 60 fps i chose to go lightless and ultimately got 2X or something like that
so the speed delta maybe be caused by specifics to your project. i know that the frustrum culling and umbra are dog slow on unity and it’s possible that SRP makes things worse. My project didn’t hit this much because of the style but that’s interesting enough to investigate.
stress test:
I don’t know but something like this I guess should do it: with multiple visible lights with shadows built-in is faster, with only one directional light (or no lights at all) URP is faster.
Basically, depending if your game target Switch hardware and the amount of visible lights with shadows.
I added to the 3D render column and added the stub to a render pipeline choosotron.
You make NGSS2, it’s quite low level so you must have seen the guts of the engine so how’s your experience across unity version and RP, any trend?
I think once DOTS settles in (more specifically DOTS instancing and DOTS occlusion culling for SRP is fully working) both HDRP and URP will skyrocket. As of now, my findings suggest that, if your project need lot of lights with shadows, Built-in (deferred or custom single-pass forward) is a better option. If have little to no lights URP is a better option. As soon as you have moving lights with shadows, SRP batcher loses its advantage and behaves like the old built-in batcher.