Patch update

One month after 1.8 release we publish Flax 1.8.1 update. It contains the latest improvements and fixes added to the engine over the past weeks including 25 pull requests from various contributors.

Major improvements for this update are: improved update-draw synchronization in engine loop, new support for importing exr textures and usability for Multi-Blend nodes in Anim Graph.

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.

DOWNLOAD

Upcoming Game Jam – Vote for Theme

Flax Community is preparing to organize the second Flax Game Jam in the upcoming weeks. Before that, you can suggest and vote for Jam theme (at the start of May). Visit our official Discord server to learn more.


Game Engineering Podcast


Changes

Multi Blend node

Multi Blend 2D and 1D nodes got massive usability additions. First, we’ve bumped up the limit of maximum animations in the blend space from 14 to 255. Then, we’ve added tooltips, undo, context menu, grid labels, add/remove buttons, and improved visuals of blend points. Finally, Multi Blend node will display the current blend position when debugging Anim Graph playback.

Optimized draw calls sorting

Read the thread to learn what we’ve done…

Improved Two Bone IK

Two Bone IK node in Anim Graph was fixed to properly handle bone twisting (GH-2166). This change allows bones to rotate and align towards the plane, which makes the IK smoother.

Update and Draw synchronized

We refactored the engine loop to properly sync Update and Draw updates – if they use the same target framerate (from Time Settings). This reduced stuttering and improved the smoothness of gameplay. Especially at low frame rates. Additionally, we refactored UpdateGraph to run async tasks between scripting OnUpdate and OnLateUpdate. This change fixed various synchronization issues in Animations and particles, now after the game updates logic with the latest player inputs, animations, and VFX can be properly updated afterward and rendered on a screen. Those changes should improve the smoothness of the game simulation.

Android publishing

Android game packaging system got several improvements to properly export games to Google Play Store. This includes proper activity element AndroidManifest.xml (GH-2485), screen orientation settings remapping (GH-2487), and API level options (GH-2486).


Changelog

Contributors: mafiesto4, GoaLitiuM, Tryibion, rkrahn, Zode, xxSeys1, Menotdan, Muzz, duarteroso

  • Add support for importing .exr textures
  • Add logging and cleaning up leaked scene objects after play mode in Editor
  • Add trading minor optimizations in MSVC Development builds for compile speed
  • Add automatic restoring Anim Event tracks when reimporting animation asset
  • Add ShowDebugDrawSkeleton to preview Animated Model skeleton via Debug Draw
  • Add toggle orthographic view hotkey (Numpad Decimal)
  • Add locking actor selection in properties and prefab windows
  • Add displaying all actors in Actor toolbox search tab when no filter is applied
  • Add better anim events visuals in timeline editor
  • Add sorting search actor toolbox
  • Add Tags.Find utility
  • Add statically disabled tessellation on macOS/iOS
  • Add statically disabled geometry shaders on mobile
  • Add CPU profiler events for UI drawing
  • Add setter for crword agent position and velocity
  • Add option for using Address and Thread sanitizers
  • Add hiding TAA settings if TAA isn’t enabled
  • Add Time.Synchronize to stabilize engine loop
  • Add Engine::UpdateCount to sync gameplay logic updates with game loop rather than draw frames
  • Add improved size of Multi Blend nodes
  • Add undo for Multi Blend points moving
  • Add context menu to Multi Blend node points
  • Add tooltips to Multi Blend points
  • Add Ctrl to snap points to grid in Multi Blend editor
  • Add improved visuals of points in Multi Blend
  • Add grid labels drawing to Multi Blend
  • Add live debugging of blend position in Multi Blend
  • Add add/remove buttons to Multi Blend
  • Add better const correctness in Mesh and SkinnedMesh api
  • Add Write/Read methods to NetworkStream for INetworkSerializable sending in C# api
  • Add more useful orientation settings to Android
  • Add exported property to activity element in AndroidManifest.xml template
  • Add basic Android version settings to editor
  • Optimize DrawBatch for faster sorting
  • Optimize draw calls sorting in opaque passes
  • Optimize TreeNode rendering
  • Optimize ActorTreeNode reparent when it’s not collapsed but one of the parents is
  • Optimize Anim Graph node size and remove limit of max 64 state transitions
  • Refactor engine loop to have better sync between game update, physics and drawing
  • Refactor UpdateGraph to run after engine services and game scripts
  • Refactor Visject Graph nodes data for unlimited size
  • Refactor Multi Blend nodes to support up to 255 blend points
  • Update DirectXTex to mar2024
  • Change default collision type to ConvexMesh from TriangleMesh
  • Fix default diffuse color value when importing material
  • Fix Editor viewport aspect ratio scaling to be removed from camera mouse movement
  • Fix numpad enter to normal enter on Linux
  • Fix Two Bone IK to have correct bone roll
  • Fix blend shapes transformation applying
  • Fix blend shapes normals usage
  • Fix blending nested animations to properly handle it per-node
  • Fix nested animations sampling
  • Fix animated model skinning precision issues
  • Fix errors on using spline editor in Prefab window
  • Fix error when applying prefab changes with Spline
  • Fix deselecting actors when using camera orbiting in viewport after releasing LMB when Alt is up
  • Fix text underline being in wrong spot on different DPIs
  • Fix particle emitter creation from templates
  • Fix various bugs in code detected with address/thread sanitizers
  • Fix EyeAdaptation bug to flash on play mode start in Editor when time gets reset
  • Fix heightfield not saved when editing splatmap of terrain with physical materials in use
  • Fix editor toolstrip by moving game cooking and building to the right for less missclicks
  • Fix panning Visject Surface with middle mouse button (right button does it) to prevent missed connections removals
  • Fix Debug Log scrolling when many entries are added at once
  • Fix cloning value utility for object references
  • Fix missing UI Control preview when changing UI Widget type
  • Fix surface node context menu to not show when moving surface
  • Fix margins issues in context menus
  • Fix FindRandomPointAroundCircle to always find a valid point on a NavMesh in the radius
  • Fix NavMesh to initialize earlier and prevent issues with crowd agents on a scene
  • Fix .NET runtime validity checks with daily runtime builds
  • Fix CachedAttributeGetter holding references to collectible types
  • Fix to release Prefab assets when unloading Scripting service
  • Fix freeze when selecting ModelPrefab referencing a removed asset
  • Fix terrain heightmap to use higher range format when decompressed
  • Fix bug in ValueContainer.HasDifferentTypes causing incorrect editor setup
  • Fix model tool importing to use temp file only for Assimp
  • Fix deadlock when parsing invalid HTML text in RichTextBox
  • Fix crash on prefab preview with lightmap in use
  • Fix crash when accessing physics objects state in OnLateFixedUpdate
  • Fix crash when resizing window on Vulkan
  • Fix crash when removing Anim Event visual script that is used in opened Animation timeline
  • Fix crash when using old Blend with Mask node in Anim Graph
  • Fix crash when playing uninitialized audio source
  • Fix crash when reimporting animation with translation set

Wojciech Figat

Lead Developer

3 Comments

Amirhosein · April 27, 2024 at 12:49 PM

Wow, that is impressive how far flax got into

ji xiang shen · April 30, 2024 at 9:35 PM

Nice upgrade, but we’ve been waiting for FlaxEngine-UI’s multi-language support, currently the generated Windows executable can’t display Japanese, Korean and other languages correctly, we haven’t tested it on Android and IOS yet. We hope it will be solved soon, thanks to the FlaxEngine team for their efforts!

ji xiang shen · May 3, 2024 at 10:32 AM

Maybe FlaxEngine displaying multilanguage in UI may need to pre-install font files in OS, but players usually don’t do that, so to support multilanguage should be done by implementing it inside FlaxEngine, that’s our suggestion, thanks again to FlaxEngine team for their efforts.

Leave a Reply

Avatar placeholder

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