Hi Unity staff, please take my feedback with a pinch of salt. It is likely I’ve probably been working with Unity longer than some of you, so it’s not a criticism really but feedback based on poking around the project:
- Your decisions about how bright the sun is:
Users peeling apart the project will see the sun is 1000 lux, which is acceptable for a bright room. This doesn’t make sense for current projects without a physical camera setup which HDRP doesn’t have at time of writing for beta. To compensate for this you abuse the auto exposure to bring the values back down. This is OK but:
-
renders lightprobe preview broken
-
reflection probes are virtually impossible to preview correctly
-
you require many more probes to work with (more notes follow)
-
your scene lighting, specifically GI is unusable for dynamic time of day
-
knock-on effect of having to anti-tweak everything else to fit
-
scene lighting range potentially far from 0-1 therefore lightmaps compress badly
- Lightprobes are difficult to get the best of. In 2011, Robert made the call to use tetrahedral probes and argued that it was an artistic job.But FPS Sample automates it, and struggles to follow the advice of using a minimum amount. In fact the probes are so dense, I thought it was a point cloud when I took a look. It needs to change/improve. Notes:
- Too many probes take too long to inject GI into or change / burns perf and memory.
- Your placement is bad. Use navmesh at least to generate relevant placement
- You went for thousands and thousands of probes to band aid the limitations of tetrahedrons
- If you want a handful of tetrahedron based probe lookups on on a 2010 phone it’s OK…
- The general authoring is a mess of changes and fixes. Then heaped more mistakes on top of that to fix the mistakes. Then you basically tweaked everything over and over till it looked great. There is no elegance here and it’s a bad project for people to learn from. I get it, small team forced to keep adapting to emerging tech that is not finished. That’s hard! But here’s a chance to address these problems within Unity:
- Improve probes. Make a small building. Thin roof. thin walls. Thin is actually a meter/unit! I guarantee you even by hand you’ll struggle with optimal placement and few probes. I think we need something that will work in more use cases since the FPS Sample shows clearly we need thousands for a small deathmatch level.
- Prefab variant setup is OK in this project but often done for the sake of it to demonstrate rather than being efficient.
- Some objects are layered lit but appear low resolution :/. It’s a wild waste of performance and streams badly. Could’ve just been a single PBR mat without layered lit.
- Use of decals overkill and sub-optimal. Mesh decals would have solved this a lot. I am guessing this arting phase must have occurred before the actual addition of mesh decal support in HDRP. Also, a lot of those places would’ve just been served better with 1 texture variant.
I could go on but I don’t want to beat on what is otherwise a very, very impressive piece of work. I never even got to the code side (which I will of course) or the networking.
I wanted to just be a little bit honest here, I appreciate, love the work and effort but people are going to learn quite badly from the way the scene is arted together and some of the decisions made plus some of the things in unity (lightprobes) really need fixing, especially since you fight years of your own advice to finally accept that they aren’t that useful in current form.
Thanks for reading and I’m sorry if I annoyed anyone. I’ve a fair idea what kind of battle it is to make a game with a small team but for the sake of improvement I leave these notes.