Here comes new Flax 1.6! This update brings various features like .NET 7, C# 11, PhysX 5, iOS support, macOS M1/M2 support, and lots of more good stuff.
For this update together with our contributors, we’ve made over 1,253 commits and merged 148 Pull Requests into Flax repositories. Thanks for your support!
As always, we will do a short check around new features and highlights. To see detailed information visit the official release notes.
We did it! Flax C# scripting runs now with the latest .NET 7 runtime and includes all the new and shiny features, such as:
- Better performance (new GC, new JIT, optimized stdlib)
- Latest C# 11 support
- Ability to use mixed native/managed debugger in VS 2022
- New Editor’s code hot-reload via
AssemblyLoadContext(safer than our custom solution)
- Seamless support for newer .Net versions in the future (eg. .NET 8/9)
- Smaller build size (due to new stdlibs stripping)
Now, Flax Editor requires .NET SDK 7 to be installed on a system – both Editor and Launcher detect it and will guide new users to install it (if not already). See
Migration Guide section to learn more about how this affects your game projects.
Physics simulation engine was updated to the PhysX 5.1 (from 4.1) which includes exceptional stability and performance improvements as well as new GPU simulation features (that we plan on using in the future). We will add cloth and destruction support to the engine in upcoming months as in-built features to use in Flax games.
With iOS platform finally arriving in Flax we’re proud to announce that Flax is truly a multi-platform engine. We support and maintain all common gaming platforms including desktop, consoles, and mobile.
MoltenVK to render high-quality 3D graphics on iOS, together with full support for C++, C#, Visual Scripting, stereo audio, multi-touch input, high-dpi UI, single-click deployment, and much more.
We’ve updated all Flax Samples projects to support touch display input and run smoothly on iPhone/iPad devices. To learn more see the official documentation about iOS platform.
macOS arm64 Support
Flax 1.6 now works on arm64 Apple devices including macOS. M1/M2 chips offer stunning performance and thus Flax Editor and Flax Games have great stability.
Animation Retargeting is a feature that allows playing the same animation on different skeletons. This can be useful when developing larger games where animations sharing helps reduce both development time and game build size. This update adds new tools for skeletons retargeting inside Editor. Also, Engine does a better job at reusing animations between skinned models. See docs to learn more.
Any State in Anim Graph
Any state is a special node that can define transitions to states that will be always checked during state machine updates. It can improve the workflow when creating more complex character animations (for example character
Death state that can be triggered from all states).
Additionally, State Machine transitions can define Interruption options to support transition rule rechecking or instant transitions.
Every Flax update brings new features and fixes into all engine areas. This time audio system got multiple quality improvements for better spatial sound playback and new HRTF audio. Audio sources can now control
Doppler Factor, and
Spatialization. We’ve fixed the minimum audio attenuation distance and added debug sphere to visualize it in Editor.
Network Replication Hierarchy
NetworkReplicationHierarchy is a new feature that allows the game to configure objects replication mechanism. It’s an optional extension to
NetworkReplicator accessible via
Hierarchy property and can be set by game to a custom nodes hierarchy. It’s used to store objects for replication in a more optimized structure (eg. grid or hierarchical tree) and it can be used to control the replication rate and target clients for each object individually.
For example, when a large game level contains 10k networked objects (eg. POIs) then replicating all of them to all connected clients would kill the performance. To solve this problem a simple replication hierarchy can be created that would control Replication FPS for each object and skip unnecessary replications for clients that are too far away. See docs to learn more.
Additionally, we’ve put lots of efforts into the networking system as we see many game projects in-developments that use it. Network RPCs codegen is more reliable and supports more features.