Our post-process system was kind of simplistic, and has been something we've wanted to improve for a long long time. As we march closer to an initial 1.0 release we're trying to solve some of these larger problems.
So now the post process system works a little different.
You can still add pp components to your Camera component
You can add pp components to child GameObjects on your Camera component
We added a PostProcessVolume, allowing you to apply different effects if the camera is inside a volume
Volumes can be global, and faded in and out
Post Process Effects can be weighted and blended together nicely
This isn't backwards compatible with the previous system (which relied on being on a Camera) - so if you previously made a custom post processing component and want to upgrade it to use the new system, you have a bit of work to do. You can read more about that here.
The code that was used to update the time that the UI uses for its animations was being called in both the menu system and the main game instance.
This meant that UI animations and transitions were playing twice as fast as they should have. This was something that happened in the game, but not in the editor.
We have published a metrics section on the website. This makes it easier for us to keep an eye on certain aspects of the engine.. and lets you guys hold us to account using the cold hard data.
I expect that we'll expand this over time to be a centralised, open dashboard where we can spot problems early on.
In preparation for release and the standalone license, we added an about section to the Game and Editor, showing all our dependencies and their respective licenses.We've also removed several more minimally used third party dependencies in an attempt to slim down.
Skinned renderers have been able to access root motion but this was only supported on animgraph playback, now it's also supported on single sequence playback.
Any of your projects using them should be updated to point at this new version.
This reduces the install size of the game, won't force the source files on you if you don't need them, and lets projects stay on a specific version if they need to.
You can now interpolate integer properties as if they were floats.Fixed dragging the fade-in part of time selections when motion editing.Video exports will now always have the correct FoV, and we make sure any ray traced lighting has warmed up so there isn't a weird fade in at the start of your movie.
The bounding box gizmo used to not respect scale, was way to small and didn't snap to the grid. The Gizmo got some love this week and should now feel better to use.
We shipped SSR downsampling last week, it had some issues with artifacting near the edges as well as crashing on Intel Graphics.This from some over zealous bounds checks meaning the SSR texture wasn't getting fully initialized. This is now resolved.
The ResourceBarrierTransition API was doing a lot of stuff wrong, resulting in undefined behaviour and crashes.
I've fixed all the validation errors here by using the correct expected flags, I've also modified and obsoleted both ResourceState.VertexAndConstantBuffer and ResourceState.IndexBuffer instead you should use ResourceState.VertexOrIndexBuffer which infers the usage from the provided buffer.
I think I didn't design this API as well as I could've, there's a lot of things that should be simpler because we know the usage from the types we pass in.
Left-clicking in the scene viewport felt very inconsistent, like clicks are randomly ignored. Sometimes clicking a gameobject didn't select it, sometimes clicking empty space didn't deselect.This should be much better now.
I've fixed when pausing a game (setting Time.Scale to 0) you were unable to move the mouse cursor with the Gamepad.
I've also made the cursor speed proportional to the minimum screen size axis, as before you could have an ultra wide and your cursor would move super fast.