v0.22 - UE5 Upgrade and Optimizations
Finally the project is converted to Unreal Engine 5. This has been a monumental task and we are super happy it's done and over with :)
Moving forward we can now focus on new features and content with shiny new tools.
Most things should be the same, while everything has changed under the hood. The physics and collision system is completely new, static meshes are converted to Nanite meshes, completely new destruction system etc (check UE5 if interested in all cool stuff).
However Lumen is currently not enabled due to targeting more like 30fps, but we will eventually enable it due to UE improving this for games.
[h3]Collision, Physics and Destruction[/h3]
This is a completely new system in UE5 which has a major impact on Birthright's combat. The melee weapon collision is rewritten using the new system.
Basically for Birthright this is just goodness compared to the previous Nvidia PhysX system we used. It's also built with Multiplayer in mind, so Dedicated Servers will now run a fixed update rate on physics, making it possible to sync clients much easier compared to variable update rate.
The new destruction system (Chaos) is incredible much better than the Nvidia system previously used. We already made simple tests using Catapults and destructible Walls and dynamic NavMesh etc seems to work fine. So a future Siege Patch will be planned now.
[h3]Optimizations[/h3]
After conversion was done we did some deep analyzing and monitoring performance. And for combat the biggest bottleneck is Animations.
Therefore we started remaking Animation logic according to the new Multi Threaded model that UE5 supports. This enables using a Proxy object to copy data between threads and run necessary update logic on a thread rather than the main thread. We will continuously make improvements around Animations coming patches due to this. But already there is a good improvement in performance.
[h3]Nanite Meshes & Virtual Textures[/h3]
Most Static Meshes are converted to Nanite for performance and removing the need for LODs. And UE5.1 already released support for Foilage being Nanite Meshes too. This will be updated in coming patches.
And all Textures are now UE5's Virtual Textures making things more video memory optimized while even and crisp over longer distances.
Big thanks to Amarum for testing during development!
Moving forward we can now focus on new features and content with shiny new tools.
Most things should be the same, while everything has changed under the hood. The physics and collision system is completely new, static meshes are converted to Nanite meshes, completely new destruction system etc (check UE5 if interested in all cool stuff).
However Lumen is currently not enabled due to targeting more like 30fps, but we will eventually enable it due to UE improving this for games.
[h3]Collision, Physics and Destruction[/h3]
This is a completely new system in UE5 which has a major impact on Birthright's combat. The melee weapon collision is rewritten using the new system.
Basically for Birthright this is just goodness compared to the previous Nvidia PhysX system we used. It's also built with Multiplayer in mind, so Dedicated Servers will now run a fixed update rate on physics, making it possible to sync clients much easier compared to variable update rate.
The new destruction system (Chaos) is incredible much better than the Nvidia system previously used. We already made simple tests using Catapults and destructible Walls and dynamic NavMesh etc seems to work fine. So a future Siege Patch will be planned now.
[h3]Optimizations[/h3]
After conversion was done we did some deep analyzing and monitoring performance. And for combat the biggest bottleneck is Animations.
Therefore we started remaking Animation logic according to the new Multi Threaded model that UE5 supports. This enables using a Proxy object to copy data between threads and run necessary update logic on a thread rather than the main thread. We will continuously make improvements around Animations coming patches due to this. But already there is a good improvement in performance.
[h3]Nanite Meshes & Virtual Textures[/h3]
Most Static Meshes are converted to Nanite for performance and removing the need for LODs. And UE5.1 already released support for Foilage being Nanite Meshes too. This will be updated in coming patches.
And all Textures are now UE5's Virtual Textures making things more video memory optimized while even and crisp over longer distances.
Big thanks to Amarum for testing during development!