Merry Christmas!
Right before the Holiday season, we’re rolling out Flax 1.7.2 update. This release brings many stability fixes and various improvements (especially for the Editor). We’ve added an experimental model-importing feature that allows creating Prefab from the source file which should greatly improve game dev workflow.
We’ve fixed over 90 issues on GitHub that you’ve reported and merged 29 PRs from the community. Thanks for your support!
As always, we will do a short check around new features and highlights. To see detailed information scroll down the page or visit the official release notes.
Changes
Color Picker Presets
Now, the Editor’s color picker window allows you to save colors for easily caching commonly used values in your project (GH-2095).
Model Prefabs
Model files can be imported into prefab assets. This feature can turn your fbx (or any other model file) into prefab with all meshes, nodes, materials, and textures matching the source file. Also, we’ve updated Auto-LOD generation to be more reliable and don’t use Sloppy Optimization by default resulting in higher quality LODs generation.
Infinite Loop Decorator in Behavior Trees
‘Loop‘ decorator in Behavior Trees can now loop the node or tree for an infinite amount of time (GH-2043). Additionally, we’ve fixed many issues with Behavior Trees system to stabilize its usage in the currently developed games.
Auto-sizing for Box Colliders
We’ve implemented auto-sizing for box colliders when they are added to the scene (GH-2063). The collider bounds are calculated based on the parent’s actor bounds which is a preferred workflow when adding collision to static meshes or rigidobides.
Changelog
Contributors: mafiesto4, Tryibion, GoaLitiuM, Withaust, Menotdan, NoriteSC, mtszkarbowiak, Just-Feeshy, MineBill, nothingTVatYT
- Add invert green channel option to texture tool
- Add various .NET and VSCode intellisense fixes
- Add new icon for macOS
- Add automatic code modules references adding when cloning plugin project
- Add saved colors to color picker
- Add infinite loop to behavior tree
Loop
decorator - Add option to import model file as Prefab
- Add
ModelPrefab
to imported model prefab for reimporting functionality - Add various improvements to models importing code
- Add support for loading prefab instance if the root was changed or deleted
- Add support for displaying and reverting array values to prefab value in properties panel
- Add removing thumbnails for deleted assets
- Add
Half
toVector2
/Vector4
- Add
Where
,Select
andRemoveAll
toArrayExtensions
- Add
SloppyOptimization
disabledby default and lower defaultLOD Target Error
value for model auto-LOD - Add better
ScaleWithResolution
defaults in Canvas Scaler - Add
Async
to anim events (false
by default) to delay events execution into main thread and prevent multi-threading issues by default - Add
PixelFormatExtensions::ComputeBlockSize
- Add ability to change default Android screen orientation
- Add better Visual Script debugger tooltips display
- Add mouse tracking on Linux
- Add context menu to load additional scenes quickly
- Add auto-sizing for box colliders when they are added to the scene
- Update
meshoptimizer
tov0.20
- Optimize time service update math code
- Remove old warnings about invalid model instance buffer
- Replace
ImportedModelData
withModelData
for model importing - Refactor
INetworkDriver::PopEvent
to use network event as output parameter rather than raw pointer - Refactor objects splitting in models importing to be handled by
ModelTool
not the importer code itself - Refactor prefab’s
objectsCache
to be explicitlySceneObject
values - Refactor memory allocators to use dedicated path when moving collection data that is not blittable
- Refactor Visual Script debugger apis to use bindings generator
- Refactor Physics Colliders to use auto serialization
- Fix ability in editor to delete content and source folders
- Fix tooltip location check when wraps over the screen
- Fix UI Dropdown size issue with large font
- Fix selecting prefab object when object from prefab is already selected
- Fix constant value sliders in material graphs to not be used due to shader compilations
- Fix deadlock in
NetworkManager
when network peer returns invalid event type - Fix zero clamp on hinge velocity to allow negative values
- Fix
__cplusplus
macro on MSVC and add logging C++ version used during compilation - Fix missing channel masking in material Scene Texture node
- Fix missing surface graph edited flag after removing anim graph state transition
- Fix missing output parameters conversion when calling interface implementation in scripting
- Fix selecting objects/gizmos with high far plane
- Fix blending additive animations
- Fix
MissingScript
to be added only when object type exists (skip for prefab instances) - Fix not showing primary context menu on Visject surface if child control handled input event
- Fix layout of editor updating when adding a script to multiple actors in a scene
- Fix incorrect empty meshes/LODs removal after auto-lod generation
- Fix invalid codegen for array reference passed as output parameter in scripting interface method
- Fix incorrect pointer marshalling from
Variant
to managed runtime - Fix model asset thumbnail if mesh is not centered around origin
- Fix prefab window performance with large hierarchies
- Fix not supported dragging prefab actors between windows
- Fix spawned prefab name after drag&drop into prefab window
- Fix invalid BT node decorator linkage after removing it
- Fix invalid tracy events from C# profiling api when profiler gets connected mid-event
- Fix .NET runtime packaging with installed .NET 8 SDK
- Fix Visual Studio build issues with C# projects when engine path has spaces
- Fix Json serialzier regression after hot-reload
- Fix
Swap
for non-copyable types - Fix swapping core collections
- Fix project initialization with
-new
if it already exists - Fix calling script
OnDestroy
when removing actors or scripts from the scene - Fix several actor types performing default spawn behavior when spawning from a prefab
- Fix docking windows on Linux
- Fix importing
.dds
filesas-is
if the compressed image is too small for the engine (block size validation) - Fix dark outline around Screen Space Reflections alpha blending area
- Fix default prefab instance not taking into account root position
- Fix plugin clone and loading to wait for
git
process end properly - Fix managed method delegate creation to be thread-safe
- Fix typo in
Tag
comparison function - Fix render target pool over-allocation when changing render resolution frequently
- Fix deadlock in
Asset.WaitForLoaded
when loading task hangs in the loading queue for a main thread sync - Fix deadlock when loading block-compressed texture that is smaller than block size
- Fix deadlock in asset thumbnails rendering queue when texture streaming fails
- Fix various crashes
- Fix crash in UI prefab changes apply when reparenting controls
- Fix crash when boxing native non-POD structure into managed format
- Fix crash when updating prefabs from async thread
- Fix crash when spawning actor from asyc thread into the SceneObject
- Fix crash when unloading texture that has active streaming tasks
- Fix crash when resizing navmesh capacity with crowd created for that navmesh
- Fix crash when drawing terrain without cached neighbor chunks
- Fix crash in mesh LOD generator if generated mesh has more indices
- Fix crash in Content Storage async job when someone is using file storage and access cannot be freed
6 Comments
Amirhosein · January 10, 2024 at 10:47 AM
Thank you for hard work
ji xiang shen · January 13, 2024 at 4:18 AM
UI cannot display Japanese, Korean, and Chinese. UNITY3D and Unreal Engine include Godot, which are widely supported by UTF-8. The current version still exists.
Robert · January 28, 2024 at 9:09 PM
You’re doing a great job! Some people write that the engine is complicated, but it’s not! UE5 is complicated, “heavy”, huge projects and too much to spare, there are no good MMORPGs on UE, and there are almost none either. I like Flex more and more!
Jason Wilmans · February 7, 2024 at 10:25 PM
Just wanna leave a thank you. Following the development closely. Tinkering with Flax again and again. Don’t know if I’ll ever start a real proiject, but it would be my first choice then!
art · February 24, 2024 at 6:39 AM
problem black screen in example scene!!
Yohanger · February 29, 2024 at 2:09 PM
Excellent!!!