Hello and welcome all of you, to the latest edition of Flax Facts! Today, as always, we will go over the updates from the past month. It’s time for the last fixes and improvements for the upcoming Flax 1.13.


Rich Text Box with Wrapping

Rich Text Box got text wrapping feature, which can arrange longer text into lines that fit the UI control bounds. No idea why it hasn’t been done earlier. #4196

.NET 11

We’ve tested the latest .NET 11 preview, and it looks like it’s compatible with Flax. This upcoming Dotnet update brings various new APIs and performance improvements, so we will make sure it works in the next Flax updates (starting with upcoming 1.13). Our policy on .NET compatibility is to use the current Long Term Support (LTS) version as a base for the engine, with an option to run on the newer .NET. For example, current Flax 1.12 uses .NET 8, which ends its support lifecycle soon thus, Flax 1.13 will use .NET 10 as a base for the next 2 years. Learn more here.

Behavior Trees Improvements

Behavior Trees editing got several significant improvements. Node decorators can display condition debug text, which greatly improves the readability of the logic. During play-mode those condition texts are colored based on the condition result to further improve the debugging experience. Also, decorators should match node size to reduce misplacement bugs.

Object Interface Reference

For those who like using Object Oriented Programming with interfaces and extendable scripting, we’ve added a new utility called ScriptingObjectInterfaceReference<T>. It holds a reference to an object (eg. Script or Actor) which implements an interface T. It works in both C++ and C# code with full support for serialization, prefab references, and editor that shows an object picker in properties panel. #4120

Securing High-Level Networking

NetworkReplicator system has been greatly secured to reduce risk of game crashes or hacking/cheating in multiplayer games. Now, RPSc and object replication handle data errors properly. Network Settings got several new options to limit networking system to protect against DDoS attacks.

HZB Occlusion Culling

Last month we added Occlusion Culling to the engine. Now, as planned, we’re bringing HZB Culling as an alternative. This technique performs per-object culling on a GPU using compute shader, which checks visibility based on downsampled depth buffer (Hi-Z Buffer). Then culling results are readback by CPU to determine object visibility for upcoming frames. That method has latency and object popping artifacts similar to hardware occlusion but is more stable in movement and scales better with high object count. Flax projects can use any of them or none, depending on game needs. In the future, we will add fully GPU-driven scene drawing with a culling system building indirect draw arguments instead of CPU draw calls.

1.13 coming soon

We’re doing the final improvements to the engine for the upcoming Flax 1.13 update in October. You can see progress of the milestone on our Github: https://github.com/FlaxEngine/FlaxEngine/milestone/8?closed=1 and Roadmap: https://trello.com/c/gzdZnw2d


That’s all for now; we’re going back to work. See you soon! 🎸🕺🎶


Wojciech Figat

Lead Developer

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *