Hola!

It’s time for a great Flax 1.10! This release contains a massive amount of usability and stability improvements, including various new features such as better bloom rendering, new vertex format for meshes, networking optimizations, and more.

For this update, together with our contributors, we’ve made over 1,150 commits and merged 149 Pull Requests into Flax repositories. Thanks for your support!

DOWNLOAD

As always, we will do a quick check around new features and highlights. To see detailed information visit the official release notes (including Migration Guide).


Made with Flax

We’re excited to showcase two videos of projects made with Flax:


Highlights

New Bloom

Bloom effect uses a new smother rendering that provides more realistic results. It features mipmap-based dual filtering with configurable soft knee. New visuals are softer, more stable, and have wider diffusion that spreads naturally when looking at bright spots.

Multi Blend Editor Improvements

New Multi Blend 2D editor will visualize triangulated blend space with gradients and highlights to better understand how animations are being interpolated. This accurately represents the logic that’s running under the hood for animations blending.

New Meshes Vertex Format

One of the biggest changes in this release is complete refactor of vertex buffers used by the meshes. Static and skinned meshes won’t use fixed vertex formats anymore. Instead, they will allow for more flexible and fully customizable data. This has been achieved by adding new GPUVertexLayout and removing fixed format dependency in Vertex Shaders.

There are multiple benefits of that change:

  • more optimal model assets data (stripping unused attributes at import time),
  • vertex data quantization (each mesh can use different precision for vertex values),
  • support for up to 4 texture channels,
  • support for up to 65535 bones in skinned models,
  • support for vertex colors on skinned models,
  • support for non-standard mesh data formats used by game.

New Animation Retargeting

We’ve made a significant improvement to animation retargeting. In the above gif there are various characters from Synty that use different skeletons (from various asset packs) and play the same animations correctly. To learn more about this feature see animation retargeting docs.

Networking Optimizations

We’re seeing more and more games made with Flax that use in-built networking. This lead us to working on significant performance optimizations for networking system such as:

  • Object IDs and TypeNames used by RPCs and Replication are now optimized 32-bit keys,
  • Quaternions are using quantization which cuts average transfer rate by 56%
    (eg. Identity value is just 1 byte instead of 16 bytes),
  • Replication system will check if object data changed before sending replication message.

Those improvements reduced network transfer by a lot. For example, on Arizona Framework Sample with 1 Host and 1 Client the network send rate from server went down from 36kB/s to 5kB/s.

Debug Commands

New Debug Commands system lands in Flax 1.10 with a new console inside Output Log window. DebugCommand is an attribute that can be placed on classes, fields, methods, and properties to expose them for configuration, modding, or tooling.

Output Log is Editor window that displays the full log. Now, at the bottom of that window, there is an input command field that can be used to run commands. You can type commands with an automatic search popup that displays similar commands based on the entered value. Use arrow keys to navigate around that popup list. The tab key can be used to autocomplete commands based on the best-found match. Finally, when input is empty you can use the arrow up key to navigate around the command history and re-try one of them again.

For in-game console, we’ve added one via ImGui system inside Arizona Framework.

Complete documentation available here.

Button Attribute

We did it! Finally, Button attribute comes to C# and C++ scripting for quick function annotations to expose them in the Editor Properties window for users to click on. This is very handy when prototyping procedural level generation systems or other randomziation/code-based algorithms. It works with both static and member methods at edit-time or during play-mode.

Curve Editing Improvements

This update brings various fixes and improvements to curve editor. Finally, stable zooming and panning for more robust editing.


Wojciech Figat

Lead Developer

2 Comments

WitWhisker · April 17, 2025 at 5:38 PM

omg this is so exciting!! i wish more people will use this engine!

Saas · April 17, 2025 at 6:13 PM

Leave a Reply

Avatar placeholder

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