Releases: FlaxEngine/FlaxEngine
Update 1.11.6802
Blog post: https://flaxengine.com/blog/flax-1-11-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_11/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-11/2330
Changelog:
- Add new memory profiler
- Add suport for Tracy profiler on Mac
- Add integration with Tracy profiler to plot main memory categories
- Add new Arena Allocator for optimized dynamic memory allocations with a shared lifetime
- Add memory alloc profiling for virtual pages (on Win32)
- Add process memory stats for Apple platforms
- Add version to game settings
- Add variable DDGI probe size in debug view based on cascade
- Add GPU profiling support to Tracy integration
- Add debug tool detection for Nsight Graphics
- Add explicit GPU resource transitions, memory and compute barriers
- Add logging missing instance layer on Vulkan
- Add debug name for PSO catching on D3D12/Vulkan during profiling incl. Development builds
- Add
Platform::Yield - Add
PLATFORM_CONSOLEdefine and fix desktop to be as Windows/UWP, not Win32 - Add support for using custom memory allocator in lambda bind to
Function - Add
GPUResourceMapMode.NoWaitflag to control buffer data reading - Add
nvapithird party module (NVIDIA driver extensions) - Add
AGSthird party module (AMD driver extensions) - Add
nvapi/AGSlibs to D3D11 for efficient UAV writes overlaps on NVIDIA/AMD GPUs - Add automatic periodic Vulkan Pipeline State Cache serialization
- Add red color to Tracy profiler zones that cause CPU waiting to improve profiling
- Add time slicing to Deserialization stage of async scenes loading to avoid hitching
- Add higher level streaming time budget in frame based on idle time
- Add
UseLogInReleaseto engine config to disable logging in Release builds - Add new Custom Lit shading model for custom lighting in materials (eg. Cel Shading)
- Add resizing to Custom Code nodes in Materials
- Add improved way of ColorValueBoxes drawing transparent colors
- Add support for building engine without logging
- Add label/button text to string convertion for better debugging
- Add
CharacterController.Resizefor quick crouching implementation for characters - Add option to change Character Controller capsule origin to start at feet location
- Add
SCOPE_EXITmacro - Add
PositionFormatandTexCoordFormatto model import option for mesh data encoding - Add
GPUDevice.VideoOutputswith a list of attached monitors - Add stencil buffer usage with object layer information
- Add new scene textures
SceneStencilandObjectLayerto sample Stencil buffer - Add render layer mask to decals
- Add
ReadWriteLockto platform api - Add support for large 16kb page sizes on Android
- Add Android native crashes caching
- Add new
PreIntegratedGFwith 80% smaller memory but more accurate data - Add hot-reload support for material feature template sources on material generation
- Add and use
Max Mesh Position Errorto Build Settings for automatic mesh vertex positions storage - Add improved import path UI
- Add
LayoutElementsContainer.ImagewithIBrushfor Editor - Add new
UIBrushthat usesUIBrushAssetjson resource with a brush data - Add hotkey to quick focus debug console input (
Ctrl+~) - Add highlighting to layers matrix editor to improve UX
- Add node alignment formatting options to Visject
- Add highlight to the Visject socket with context menu and improve button texts
- Add additive (box) and subtractive selection to Visject surfaces (with Ctrl to add or Shift to remove from selection)
- Add shortcuts for View flags and Debug View modes in Editor
- Add shortcuts for windows in Editor
- Add accent colors to Content Finder tool
- Add wrap scrolling items list with arrow keys and simplify scrolling logic
- Add
GetOrAddButtonutility forMainMenu - Add
GPUTexture.UploadDatafor changing texture contents viaTextureDatacontainer - Add
Texture Sizenode to particles - Add option for debug shapes drawing for particle emitters
- Add option to show vertices and triangles of collision model in a collider data window
- Add unscaled time to Material Time node
- Add support to move Visject socket connections
- Add skybox rotation feature
- Add model import options auto-restore from model prefab
- Add more color gradiant node stops (count from 8 to 12)
- Add particle data layout debugger tab
- Add editor option for disabled transform gizmo brightness
- Add showing added and removed Actors from Prefab Diff menu
- Add collection item duplication via context menu
- Add Editor option to auto resize Properties List splitter bar based on longest text
- Add custom Editor splash screen image (import texture
SplashImageinside projectContentfolder) - Add shortcut for editor settings
- Add controls and filter to actor Toolbox search
- Add option to add capsule in add colliders menu
- Add more Editor options for windows and tabs behaviour/logic
- Add new APIs to Animated Model for more control over custom nodes
- Add slider with time position to Audio Source editor
- Add
ClipStartedandClipFinishedevents to Audio Source - Add option to create a new projects from within the Editor
- Add support for parsing inheritance with preprocessor blocks inside it
- Add support for Visual Studio 2026 and v145 MSVC toolset
- Add drawing RigidBody center of mass and attached colliders
- Add a info message on Debug Log pause on error
- Add a broken link icon (used in actor scale editor)
- Add a better way of displaying transparent colors in color properties
- Add
InvokeOnUpdateto C++ scripting api - Add more utility methods for Layer Mask api
- Add initial work on nuget package support
- Add shift selection for tree nodes in Editor
- Add VSCode organization for project plugins into own folders
- Add maximum supported .NET SDK version to 10
- Add prefab UI viewport scaling
- Add surface formatting option to straighten node connections
- Add Visual Script editor method override context menu searchable
- Add Visject editor panning with RMB over nodes
- Add options for viewport icons
- Add preventing autosave when using editor context menus
- Add Output Window console to show all commands on spacebar
- Add editor option for build configuration when using cook and run
- Add support for using shadow maps from linked scene rendering (eg. for 1p weapons)
- Add shader header proxy for easy
.hlslfiles creation within Editor - Add support for negative Fog Cutoff Distance on fog to draw it in front of the camera Far Plane, no matter the setup.
- Add actor name to prefab diff view
- Add quick toggle to debug window group buttons
- Add Tag editor quick expand with
Shiftkey - Add ability to unfold folded categories when scrolling with keyboard in dropdown list in Editor
- Add better keyboard navigation to Content Finder and fix right click clearing search
- Add button to quickly jump into Localized String Table that contains it
- Add viewport icons scale relative to the distance and editor control over it
- Add utility for if in play mode that returns true for shipped applications (
Engine::IsPlayMode) - Add auto selecting first item in item list context menu if no selection and the user presses enter
- Add better logging of unsupported .NET version in tools
- Add Import/export warning message boxes
- Add
SortOrderto Environment Probe - Add exception and crashes catching with processing on iOS/macOS
- Optimize asset references to support direct registration to reduce
Delegatememory allocations and overhead - Optimize editor profiler allocations when capturing data
- Optimize actors registration in
SceneRenderingto track free items - Optimize async scene loading to run in separate stages with time-slicing
- Optimize physics simulation with higher limit of
8threads - Optimize physics transformation updates propagation in async via Job System
- Optimize updating actor rendering entry with better thread locking that support async writes on actor update
- Optimize
Actor::DestroyChildren - Optimize
ContainerControl.DisposeChildren - Optimize CSharp scripting runtime to use arena allocator per-assembly
- Optimize dynamic memory allocations for managed runtime interop collections with a new Arena Allocation
- Optimize
ProbesRendererto use time-slicing for cubemap faces rendering and filtering - Optimize
SpriteRendererto lazy-init - Optimize Particles drawing to use a whole
RenderContextBatch - Optimize GPU Particles simulation to perform memory buffer copies/updates before dispatch
- Optimize GPU particles Bitonic sort to use separate buffers for indices and keys to avoid additional buffer copy
- Optimize GPU particles simulation, sorting and drawing with better resource transition barriers
- Optimize GPU particles simulation by scheduling larger sims first to overlap more work
- Optimize compute shader pipeline binding on D3D12 and Vulkan when unchanged
- Optimize sorted particle indices format to 16-bit for small emitters
- Optimize environment probes filtering shader
- Optimize foliage rendering with concurrent arena allocator
- Optimize textures/buffers uploading on Vulkan with page allocator
- Optimize GPU textures and buffers uploads with a batched memory barrier
- Optimize Global SDF dispatches with UAV write overlaps
- Optimize DDGI probes update to overlap both irradiance and distance data dispatches at once
- Optimize Debug Draw performance of splines to use frustum culling
- Optimize Debug Commands name building and support nested classes with name hierarchy
- Optimize
Asset::GetPathin cooked build - Optimize Spline debug rendering far from camera
- Optimize particles drawing to run in async jobs
- Optimize scripting objects spawning on AOT platforms
- Optimize Audio streaming to reduce lock conten...
Update 1.10.6705
Blog post: https://flaxengine.com/blog/flax-1-10-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_10/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-10/2184
Changelog:
- Add new Bloom rendering (wider and more realistic)
- Add smooth shadows blending between directional light cascades (via Graphics settings)
- Add displaying asset failed text if it occurs
- Add
SystemNameandSystemVersiontoPlatformAPI - Add
Script::IsEnabledInHierarchy - Add utility operators for
LayersMaskbit operations - Add
HighestSetBitandLowestSetBitutilities - Add logging CPU name on Windows
- Add
DriverVersiontoGPUAdapterfor checking on old GPU drivers - Add
GPUTexture::DownloadDatato C# - Add profiler zone for native library loading
- Add leaderboards support to Online interface
- Add Visject per-node custom search and use it for Multi Blend nodes to filter animations used
- Add
Base Modelto Animation Window to preview animation via a different base skeleton with retargetting - Add
AutoAttachDebugPreviewActoroption to editor for quick debugging anim graphs on dynamically spawned player - Add
Edit GUIoption to Game Window - Add absolute snapping option to transform gizmo
- Add rubber band select to scene editor viewport for selecting multiple actors
- Add using
c:in search filtering to find control types - Add showing
No parameterstext when no parameters to be displayed in Preview tab - Add better selection bounds for multi axis transform gizmo
- Add search operator tooltip to scene tree search bar
- Add option to quickly create box, sphere, convex or triangle mesh collider for the selected static model
- Add improvement to script compilation failed warning to be a bit nicer
- Add visual feedback on ranged value slider knob hover
- Add wait on asset load when accessing material parameter values directly
- Add safety check to exit game in Release mode when running with graphics debugger attached
- Add
GPUVertexLayoutto graphics backends - Add support for up to 4 texture channels when importing meshes
- Add support for vertex colors for skinned models
- Add option to copy/paste skeleton retargetting between models
- Add progress indicator in editor for assets loading
- Add optional direction option to context menu
- Add editor windows to quick actions via Content Finder tool
- Add debug commands to Output Log window in Editor
- Add
GetFieldsandGetMethodsto binary module api - Add
ToSpanforMemoryWriteStreamand simplify code with it - Add content deprecation system that auto-saves assets in Editor that use old data format
- Add network keys table to optimize ids and names sending over network
- Add object replication data cache and send via
Reliablechannel to reduce data transfer - Add
Quaternionquantization for network stream - Add
Task::WaitAllwith a span of tasks and wrap around profiler macro - Add
SystemNameandSystemVersiontoPlatformapi - Add
SlicetoSpanand use it to make code cleaner - Add
PixelFormatSamplerutility to quick read/write operations on various data formats - Add support for up to
65536skeleton bones in skinned meshes - Add mesh vertex layout and GPU memory size display in model window
- Add total mesh vertex stride display in editor panel
- Add content deprecation system that auto-saves assets in Editor that use old data format
- Add content deprecation upgrades support to prefabs and scenes when loading levels in Editor
- Add serialization of game settings for proper upgrade when loading deprecated data
- Add logging first scene asset id in cooked game
- Add engine fatal error types handling
- Add general out-of-memory handling
- Add improved GPU crashes reporting
- Add safety memory buffer for crash or out of memory handling
- Add logging memory usage by external apps on crash
- Add Program Size Memory and Extra Development Memory access and log on start
- Add
Engine::ReportCrashevent for custom crash reporting or handling - Add named terrain layers
- Add warning when used param is being deleted in surface graph
- Add
ButtonAttributeto display methods in editor properties panel - Add support for curves in C++ scripting api
- Add displaying whole curve in properties panel upon show
- Add adding keyframes to curve on double-click
- Add zooming in curve editor relative to the mouse cursor and adapt to curve size
- Add splitter bar for resizing curve editor inside properties panel
- Add
Fkey shortcut to show whole curve in editor view - Add
Alignmentoption to Vertical and Horizontal Panels - Add being able to obfuscate text in a text box with a character
- Add support for Vector3, Float3, Double3, and Quaternion mutliselect value changing
- Add support for multi-control editing
- Add support for .NET 9 SDK and runtime
- Add C++ version and compiler path into VS Code project files
- Add handling C++ curly brace field default values for code gen to C#
- Add support for C++ trailing return C# generation
- Add hanglind nameless C++ function argument support for C# generation
- Add multi-line string literal parsing inside custom api code injection blocks
- Add scrolling to the new script after adding it
- Add .aab bundling for Android
- Add Android emulation options to Game Cooker
- Add Android devices listing and quick deploy/log tools
- Add invert options for texture imports for Red, Blue, and Alpha channels
- Add re-enabled scale center gizmo
- Add improved debug message on incorrect ray direction length
- Add support for creating Json Assets in editor out of structure type
- Add nested prefabs editing buttons inside Prefab Window
- Add UI Mode switch to Prefab Window
- Add
ControlReferencefor easier UI referencing in code - Add double-click customization for Scene Tree nodes (focus, rename, open prefab)
- Add context to object reference control to narrow finding actors and scripts (for prefab editing)
- Add game plugin template
- Add
DebugDraw.DrawCapsuleand deprecateDrawTube - Add support for searching actors and scripts by interface
- Add audio volume and muted in game panel tab rmb menu
- Add
Actor.Clonefor actors duplication at runtime (including scripts and children) - Add
Double4x4for higher precision matrices operations - Add
GPUResourceUsage.Stagingfor both CPU read/write access - Add
Shift HSVandColor Blendmaterial nodes - Add new triplanar node to materials for normal maps sampling
- Add option for local-space triplanar mapping
- Add warnings on incorrect
GPUBufferorGPUTextureusage when binding toGPUContext(in non-release builds) - Add warning if wrong type while setting material/animation parameter
- Add import path UI and button to open folder in asset import settings
- Add runtime input mapping helpers
- Add support for displaying
Multiple Valuesinfo to object reference pickers - Add double clicking an object reference in a prefab to select the object within the prefab
- Add RMB menu entry to show item in Content Window if there is a search
- Add anchor and pivot drawing for UI Gizmo
- Add grey-out color for read only textbox
- Add a confirmation dialog for editors when the reset button is clicked
- Add
No parametersUI to particle effect and animated model - Add debug draw clear to game and editor panel (if in use)
- Add drag drop to
FilePathEditor - Add
rootparameter toLevel.GetScripts - Add rotate position shape as particle module
- Add snapping to grid with Ctrl key when moving keyframes in curve
- Add focus selection to curve editor and apply margin around shown curve section
- Add caching and restoring curve height in properties panel
- Add Debug Log and Output Log color customization
- Add SIMD support for
rapidjsonwhen processingjsondata - Add improved AndroidNdk detection to handle versions folder in env var location and fallback to automatic
- Add debug draw clear method
- Add blend space drawing in Multi Blend 2D editor
- Add stencil support in PSO on DX11
- Add the option to ignore specific warnings during build of C# scripts
- Add check and warn user if asset is being moved between the content to source folders
- Add preserving existing Model Prefab objects when reimporting asset
- Add reloading existing scene if opened again
- Add maintaining vehicle wheels ordered in properties when sorting an invalid list
- Add cache to asset references graph for faster displaying data
- Add button in GameCooker window to open output build folder
- Add disabling add script item if it is not being added to a required actor
- Add gravity to
CharacterController::AddMovementfor proper movement when using Root Motion - Add getter for WheeledVehicle throttle
- Add more scripting templates
- Add hotkey for parent to new actor (
Ctrl+G) - Add highlight when actor reference is single clicked
- Add
Filemenu option to open game project folder - Add improved delete assets confirm dialog
- Add a hint to the Output Log if there are no messages shown because of filters
- Add invalidating build rules assembly when files added, moved or renamed
- Add hiding unrelated properties in Material properties for Decal, PostFX or GUI materials
- Add expanded play mode game window focus options by a focus back option
- Add missing particle parameters overrides when duplicating emitter track
- Add
Vector3.SignedAngleutility method - Add option to reverse winding order of imported model
- Add renaming surface comments with F2 key
- Add support for
Quaternionin GPU particles graph - Add support for using
API_TYPEDEFmacro onusingtypedefs - Add support for using template type inside
MarshalAstag value - Add grey out gizmo in Editor during play mode when editing static actor
*...
Update 1.9.6605
Blog post: https://flaxengine.com/blog/flax-1-9-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_9/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-9/1902
Changelog:
- Add view playback support
- Add shader cache invalidation when using debug shader option via cmd line in Editor
- Add frustum culling for editor preview camera mesh
- Add support for Windows on ARM
- Add
JobSystem::Dispatchthat accepts dependent jobs that needs to be completed before - Add improved Global SDF tracing when going over different cascades
- Add improved Global Surface Atlas lighting at far cascades and cascade borders
- Add more precise Global SDF raycasting nearby geometry (at cost of performance)
- Add improved Global SDF sampling at empty areas
- Add option to sample Global SDF from higher cascade
- Add nearby probes search to fill cells with missing GI data
- Add random per-probe rotation for rays tracing in DDGI
- Add option for smooth DDGI cascades blending
- Add smoother DDGI probe relocation when old position is visible from new position
- Add improved DDGI cascade selection by using biased world position and smooth the transition
- Add
Graphics::SpreadWorkloadto disable graphics workloads amortization over several frames when debugging graphics perf - Add
SetStablePowerStatefor D3D12 when doing shaders profiling - Add
WinPixEventRuntimefor D3D12 to provide GPU profiler event names - Add
timeBeginPeriod(1)onWin32platforms to improve timer precision - Add support for custom deprecation messages in bindings generator
- Add utility
Packing.hlslshader for colors and vectors packing - Add SpawnParticles utility to Particle Effect
- Add variable rate update for shadow maps atlas based on distance to light
- Add
stencilValuefor stencil buffer clearing - Add shadows caching for static geometry
- Add reducing shadows quality for smaller local lights
- Add better stability to Cascaded Shadow Maps projection
- Add new Static Flag
Shadowfor cached shadow maps - Add constant buffers alignment for data structures (16-byte boundaries)
- Add
InvalidateShadowfor manual shadow cache refresh - Add
ShadowsResolutionfor manually specified shadowmap resolution for lights - Add
METERS_TO_UNITSand impl metric units in shadows rendering - Add
GlobalSDFDistanceto graphics settings for default GlobalSDF range - Add video texture formats
YUY2andNV12 - Add additional
StaticFlagsCompareto Render View for dynamic or static only drawing - Add grey out to obsolete/deprecated members in properties panel
- Add support for custom file proxies in Editor
- Add support for cooking raw files referenced by assets
- Add
FilePathEditorcustom editor for path-based editing asset/url refs with a file picker - Add support for using
InputActioneditor onstringvariable - Add
WindowsMinVerconfig for minimum target Windows version switch - Add Model SDF baking on GPU via Compute Shader
- Add option to SDF generation via GPU in Model Window
- Add half-texel margin to SDF around the mesh
- Add async SDF generation for all meshes in the scene
- Add improved Model SDF generation with sampling offset and min distance accumulation
- Add caching Model SDF options in the project cache
- Add increased by 1 mip sdf texture resolution for GlobalSDF building
- Add D3D11 shaders naming for profiling
- Add
IsDebugToolAttachedto GPUDevice for detecting gpu debugger tools attached and auto-enable GPU profiler in that case - Add option to disable particles preview in scene view and play only looping effects
- Add alternative Rectangle function names for naming consistency
- Add support for log context and logging missing objects container info
- Add support for Windows SDK build 26100 (24H2)
- Add support for injecting scene children on scene loading
- Add new infinite grid rendering in Editor
- Add saving debug log collapse state
- Add Edit Prefab button for selected actor
- Add selecting all assets and scripts that are dropped in the tree panel
- Add separate import settings as new tab in texture window
- Add displaying file extension for scripts in content finder to distinguish C++ files
- Add more functionality and thumbnail to content items in finder for scripts
- Add utility
GetInstancemethod to Json Asset refs in C# - Add assertions for checking against un-normalized direction vectors
- Add reordering lists and Visject parameters
- Add Editor update event
- Add type display to empty object ref in editor
- Add slot spacing to uniform grid panel
- Add displaying asset picker type
- Add cutting of content items
- Add ability to rename multiple actors using scene hierarchy
- Add improved Visject search and filter
- Add improved UX for disabled boxes in Visject
- Add improved context menu search filtering in Visject
- Add improved comment renaming and visual fix
- Add connection curvature option to Visject
- Add impulse/execution lines slightly thicker than data ones in Visject
- Add minor QoL change for moving reroute nodes in Visject
- Add new material nodes: Cone, Cycle, Linear, Radial, Ring gradients
- Add spawning parameter setter node when holding Alt` during drag and drop
- Add storing Debug Log view options in Editor options
- Add generated marshallers into separate
Interopnamespace - Add new Radial Menu control
- Add a warning when there is more than one audio listener enabled
- Add default audio listener to newly created scenes
- Add being able to * Add a thumbnail to a
SpawnableJsonProxy - Add color picker option to accept changes on dismissal
- Add option for enabling enhanced determinism in Physics
- Add Lightmap UV material node
- Add text alignment options to Button
- Add support for customizing
Dropdownpopup visuals - Add smooth light brightness fade out at last 10% of
ViewDistance(if used) - Add
MaterialInstance.ResetParameters - Add
TextFormat,SelectedItemChanged, and text alignment options to Dropdown - Add
Graphics.ShadowUpdateRateto control global shadows atlas update rate - Add Git cloning plugin project inside Git repo as submodule
- Add clearing render target pool textures to pink during in Debug builds
- Add
IndirectLightingIntensitytoSkyfor GI intensity control - Add Contrast Adaptive Sharpening (CAS) filter pass
- Add improved default value detection for scripting object references in bindings generator
- Add improved material instance setup on model import with base material
- Add improved
FormatBytesCountto print large sizes in more detailed way - Add copy/paste for material instance parameters via context menu on
Parametersgroup header - Add more
movevalue operation for various code places for better performance - Add support for using C# stdlib api in Visual Scripts
- Add more contextual log printing on missing object/asset reference
- Add
Transfrom.AlignRotationToNormalAndSnapToGrid,Vector3.SnapToGrid - Add ability to edit position curve in timeline with a gizmo in a viewport
- Add custom grid snapping value for translation
- Add software raytraced reflections to transparent material that have both GI and SSR enabled
- Add better engine responsiveness when not focused by ticking platform more frequently
- Add grid gizmo to prefab scene
- Add enlarging debug point of current blend value in Multi blend nodes in Anim Graph window
- Add options menu to json assets
- Add cleaning up modules from target files when deleted
- Add saving collection element groups
- Add copy/paste context actions to the sprite properties panel
- Add preserving local changes to model prefab objects when reimporting
- Add resizing foliage paint gizmo with shift scroll
- Add physics and lights debug drawing in prefabs when enabled
- Add check for not having right mouse button down for changing terrain gizmo sizes
- Add additional Actor virtual methods to C# and Visual Scripting to override
- Add attributes support for dotnet interop for methods, fields and properties
- Add automatic heightmap files removal on Editor shutdown for deleted terrains
- Add navigation focus support to
AssetPickercontrol - Add caching scroll values for actors in Properties window
- Add creating particle systems from particle emitters via context menu
- Add creating anim graph from skinned model via context menu
- Add prefab root actor option picking
- Add grid snapping option to Visject Surface editor
- Add option to reconstruct Z channel when importing OpenGL normal maps
- Add option to flip imported texture over X axis
- Add option to keep aspect ratio of texture when resizing
- Add
UpdateFlagstoISceneRenderingListener::UpdateActorfor more contextual control over dirtying actors state in renderer data - Add
NetworkReplicationNode::SetObjectto customize object replication settings at runtime - Add initial AGX tonemapping implementation
- Add widget UI root control type or canvas
- Add tooltip and description inside Visual Script finder menu
- Add bindings for handling
MAXC++ defines in enums and converting them to C# - Add
Invert Mouse Y-axisoption to input options in Editor - Add handling
.fin C++ values by bindings generator - Add code gen for FixedAllocation arrays to generate Collection attribute with allocation count
- Add using
nameoffor adding new Modules to build targets - Add
NetworkReplicator::MapObjectIdfor networked object identifies mapping - Add
OrthographicSizeto Camera for fixed ortho projection size - Add disabling decals from effecting editor camera model
- Add material instance override options to be in setting button
- Add generic
CSharpProxyand Empty C# template - Add opening file proxy via shell on Windows in Editor as fallback
- Add Shift+End and PageUp/PageDown for `Tex...
Update 1.8.6512.2
Blog post: https://flaxengine.com/blog/flax-1-8-2-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_8/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-8-6512-2/1738
Changelog:
- Add watermark attribute to add watermark to string fields in editor
- Add removing selected blend space point with
Deletekey - Add margin to item tree in toolbox
- Add shift scroll for panels and textbox
- Add control transform to
Generalgroup for better usability - Add trimming content item name and actor name on rename to prevent dangling whitespace
- Add drag drop controls to Actor Toolbox
- Add font and case options to Label and Textbox
- Add color properties to Panel's scroll bars
- Add width padding for tooltip text
- Add tree node guidelines for Editor hierarchies
- Add checkerboard background to color picker dialog color
- Add support for adding script via drag drop on actor
- Add minor improvements to UI Editor widget drawing
- Add better error messages to
NetworkReplicator::SetObjectOwnershipfor incorrect usage - Add layer masking for
PostFxVolumeagainst Camera'sRenderLayersMask - Add
OnStaticFlagsChangedto Actor - Add Gameplay Global combobox to default to the last type of variable
- Add
For Distributionto be enabled by default inReleasebuilds - Add Windows on Arm build support for PhysX and NvCloth libs
- Add test case of nested types in scripting
- Add option to move all selected UI Controls while holding
Shiftkey - Optimize navmesh building and reduce scene lock time
- Rename
OptionstoEditor Optionsand move underEditmenu - Refactor
Color.FromRGBAand add matching old logicColor.FromARGB - Fix looping root motion
- Fix error when using undo after removing Multi Blend node
- Fix odd offset between 1st property and property label
- Fix empty layers to be ignored by LayerMask Editor
- Fix TreeNode not rendering all nodes properly with invisible children
- Fix editor to focus prefab window on item spawn
- Fix textbox caret not showing on empty string
- Fix caret location on text box with no text
- Fix drawing an extra character with
Render2D.DrawText - Fix actor type drag spawn to correctly assign parent
- Fix editor game window focus while cursor is not visible
- Fix smooth step visject node width
- Fix color picker dialog
- Fix item search to clear on select prefab
- Fix incorrect
asyncmethods used as RPCs (not supported now) - Fix
ReadOnlyattribute handling in collection editors - Fix UI navigation when using multiple canvases
- Fix TAA in editors debug view modes
- Fix compilation warnings when using 64-bit coords
- Fix compilation when using non-strongly typed enum as default value
- Fix Editor not launching if custom interface fonts are missing
- Fix creating virtual terrain collision of actor that is not in a game
- Fix missing camera model preview in Prefab viewport
- Fix missing curve initialization when loading from json
- Fix windows cursor to force show or hide based on cursor hidden value
- Fix bindings code generation for nested types
- Fix deadlock between content storage and asset that is being updated during load
- Fix crash when using scripting object as interface implementation in object property displayed in Editor
- Fix crash when unboxing of array type Variant
- Fix crash when Visual Script event binding instance is invalid
Update 1.8.6511.1
Blog post: https://flaxengine.com/blog/flax-1-8-1-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_8/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-8-6511-1/1709/2
Changelog:
- Add support for importing
.exrtextures - 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
ShowDebugDrawSkeletonto 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.Findutility - 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.Synchronizeto stabilize engine loop - Add
Engine::UpdateCountto 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
Ctrlto 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
constcorrectness inMeshandSkinnedMeshapi - Add
Write/Readmethods toNetworkStreamforINetworkSerializablesending in C# api - Add more useful orientation settings to Android
- Add exported property to activity element in
AndroidManifest.xmltemplate - Add basic Android version settings to editor
- Optimize
DrawBatchfor 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
64state transitions - Refactor engine loop to have better sync between game update, physics and drawing
- Refactor
UpdateGraphto run after engine services and game scripts - Refactor Visject Graph nodes data for unlimited size
- Refactor Multi Blend nodes to support up to
255blend points - Update
DirectXTextomar2024 - Change default collision type to
ConvexMeshfromTriangleMesh - 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
EyeAdaptationbug 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
FindRandomPointAroundCircleto 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
CachedAttributeGetterholding 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.HasDifferentTypescausing 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 Masknode in Anim Graph - Fix crash when playing uninitialized audio source
- Fix crash when reimporting animation with translation set
Update 1.8.6510
Blog post: https://flaxengine.com/blog/flax-1-8-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_8/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-8-6510/1646
Changelog:
- Add red tint highlight for CPU profiler table entries based on event duration
- Add selecting actor spawned in the prefab window
- Add color box to
ColorTrackBall - Add events tracing feature to Animated Model for animation playback insights
- Add displaying playback position of animation in Anim Graph window
- Add SourceState and DestinationState modes to State Machine interruption modes in Anim Graph
- Add new collection editing UI
- Add option to enable Depth Test on cloth painting debug preview (enabled by default)
- Add sub-groups expanded state restoring in Properties window
- Add directions to Slider control
- Add
IsValidIndexto Array - Add Vehicle Physics Improvements (new options, tank vehicles)
- Add
Create parent for selected actorscontext menu button - Add hiding Actor's Transform for
UIControlActor - Add RayCast utility to UI controls
- Add
MinCountandMaxCounttoCollectionattribute - Add require script and actor attributes
- Add option to toggle focus game window on play inside context menu
- Add reload project menu button
- Add support for multiple physical materials in terrain - one for each painted layer
- Add
MaterialtoRayCastHitfor surface detection logic - Add API for runtime Terrain editing and expose Terrain patch and chunk to API
- Add support for structure and script types in
JsonAsset - Add improved Visject context menu items search
- Add vertex snapping (gizmo with
Vkey pressed) - Add support for importing material emissive and roughness from
fbxfile - Add support for using pointer in
MarshalAsin scripting types - Add quick creation of scripts via
* Add scriptbutton on Actor - Add
ScriptingEnum::ToStringFlagsfor printing flag enums into readable text - Add font fallback for text rendering
- Add spline editing improvements
- Add focus selection lock input to scene tree window
- Add
SnapToGridto vectors - Add
NextUnitCircleVector2extension method - Add the option to deselect all in Editor
- Add rubberband-style selection in a Content View
- Add the ability to quickly change window modes for the game window
- Add improved category drop panel to look similar to other panels in scripts adding popup
- Add parameter to change arrow cap size for Debug Draw
- Add
DrawAxisFromDirectionandDrawRaywithRaystructure for Debug Draw - Add
Actor.GetPrefabRoot() - Add prefab link breaking to preserve nested prefabs links
- Add skipping showing and applying changes to prefab root actor transform via Level
- Add
activeOnlyparameter toLevel::GetActors - Add parameter to finds only an active actor from the scenes
- Add breaking node connection under mouse with middle button click
- Add
MoveFileToRecycleBinon Linux - Add support for VS 2022 v17.10 / MSVC 14.4x toolset
- Add check to prevent incorrect
NavCrowd::RemoveAgentusage - Add clamping multiblend value to the range set
- Add partition mode and cascade spacing for Directional Light shadows
- Add saving docking state for custom editor windows
- Add Guid picker to support asset refs
- Add
AnimationRootMotionFlagsto configure root motion component extraction - Add
RootMotionModeto support extracting root motion from animated skeleton pose center of mass - Add skeleton mask asset parameter to Blend With Mask anim node
- Add remaining clang options for Apple and Unix toolchains
- Add initial ASTC pixel format support
- Add ‘astc’ encoder lib
- Add
BehaviorTreeKnowledgeBooleanDecorator - Add automatic last dangling separator removal in context menu
- Add better grid gizmo rendering in Editor viewport
- Add save input and undo redo in Editor Options
- Add support for animating
LocalizedStringvalue in Scene Animation - Add UI Control gizmo for editing UIs (in Prefab and Game windows)
- Add resizing UI Control via widgets
- Add cursor change and showing timeline edge duration when moving it
- Add
UI Widgetto new asset creation for quick UI setup - Add physical units support to input fields in Editor
- Add
InputAxisandInputEventintegration with stdlib features - Add manual chunks loading before Binary Asset load in case content streaming flushed them out
- Add changes to default post process settings
- Add focusing search bar in content view and output textbox
- Add normal logs for deps build subcommands
- Add support for storing custom platform tools data in Game Cooker cache
- Add auto focus to Editor Window when nothing clicked inside it
- Add initial support for Precompiled Header Files (PCH) in MSVC compilation
- Add support for building engine target as shared library on all platforms
- Add
Stopwatchfor accurate duration measuring - Add
OutputNameto Build Settings for game output exe/package renaming - Add better win32 resource file injection to be done during linker call
- Add printing stack trace even when not using log file
- Add better stack trace reporting in crashes when running on non-Windows platforms
- Add support for using Tracy profiler on Switch
- Add removing dotnet libs for iterative rebuilds when AOT cache gets cleared
- Add custom editor for buttons that allow listening for them inside the editor
- Add support for multiple
VisibleIfattributes - Add hold arrow key in tree to continuously scroll actors
- Add drag drop for actor script items into scenes and prefabs
- Add ability to use custom file proxy in Editor plugin for file type
- Add an option to skip existing materials when reimporting
- Add
Start Timeoption for Audio Source actor - Add support for manually dirtying objects that use
ReplicationFPS < 0for manual-only replication - Add sanity check to prevent crashes when Animated Model has NaN in skeleton pose
- Add support for stencil buffer on Vulkan and D3D11/D3D12
- Add clickable parsing errors in build tool
- Optimize
Matrixdecomposition to useMatrix3x3for rotation - Optimize render targets freeing on the start of the game
- Optimize UI Control serialization
- Update Nintendo Switch support to he latest .NET 8 with Mono SGen
- Update
dotnetfork to the latest .NET8.0.1 - Refactor win32 exe icon updating
- Refactor
ThreadLocalwhen running on hardware with more cores thanPLATFORM_THREADS_LIMIT - Refactor UI Control actor active state mirroring in UI via
Visibleproperties rather than unlinked from parent - Refactor UI Control linkage in the prefab previews to prevent bugs
- Refactor undo logic for actors reparenting in Editor
- Refactor Editor UI style for selection and drag drop interactions
- Refactor collider shape raycasting utilities to the
PhysicsColliderActorclass - Refactor
PhysicalMaterialusage to utilizeJsonAssetReferencestruct - Refactor 3D audio implementation in XAudio2 backend to match OpenAL
- Refactor Visject Surface attributes data storage to use
JsonSerializerinstead of deprecatedBinaryFormatter - Refactor engine systems to use platform time seconds rather than date time
- Remove unused
SaveTime/LoadTimefromScene - Remove unused 'PixelFormatExtensions::ComputeScanlineCount'
- Rename
Navigation.ProjectPointintoNavigation.FindClosestPointto have consistent API naming - Fix Animated Model slot animations clearing on start
- Fix fog to be usable for transparent materials (if enabled)
- Fix auto-docking windows on open when system DPI scale is not
1 - Fix missing asset update when dependant asset gets saved in Editor
- Fix
unlinkusag on Unix systems to properly use returned value - Fix PostFx Materials blending for duplicated entries
- Fix stopping slot animations and playing the same frame
- Fix unpacking
Variantstructure if input value is a scalar - Fix missing default value for new Visject method parameter if method uses Vector param
- Fix shader source code preview in editor
- Fix
FileSystem::CopyDirectorynot failing when source folder is missing - Fix mouse events handling over window title bar on Windows
- Fix
HeaderAttributeusage with default values - Fix invalid log timing when log file is disabled in cooked build
- Fix unreliable RPC calls to silently drop if we failed to find an object
- Fix for editor view's cached
CameraNearPlaneValuegetting overwritten - Fix
Dropdownpanel to scale correctly - Fix
ContextMenushort keys as needed to accommodate for scrollbar when visible - Fix combobox window position based on what direction it opens
- Fix
AlwaysShowScrollbarsto update visibility state of the scroll bars - Fix drop location of multiple nodes to be vertical in Visject
- Fix profiling hotkeys not working while profiler window is closed
- Fix GPU profiler event percentage calculation and * Add tint highlight to spot slow entries
- Fix opening projects with PostFx material assigned in Graphics Settings
- Fix Plugins Window layout in UI
- Fix Plugin Project creation when the user types in symbols
- Fix new asset naming to always validate filename
- Fix sprite atlas limit on
4096 - Fix invalid shader codegen when using
ddx/ddyin material vertex shader - Fix terrain painting when using multiple layers
- Fix issue with CharacterController initialization when using Center offset
- Fix copy/paste for UI brushes
- Fix UI Control selection bounds drawing to handle rotations
- Fix
NextUnitVector2to properly produce a vector within a unit circle - Fix asset thumbnails refresh to support multi-selection
- Fix focusing editor camera on very large objects
- Fix duplicating array values in Editor
- Fix various Editor input shortcuts binding
- Fix Slider deserialization if value range is inval...
Update 1.7.6407.2
Blog post: https://flaxengine.com/blog/flax-1-7-2-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_7/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-7-6407-2/1533
Changelog:
- 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
Loopdecorator - Add option to import model file as Prefab
- Add
ModelPrefabto 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
HalftoVector2/Vector4 - Add
Where,SelectandRemoveAlltoArrayExtensions - Add
SloppyOptimizationdisabledby default and lower defaultLOD Target Errorvalue for model auto-LOD - Add better
ScaleWithResolutiondefaults in Canvas Scaler - Add
Asyncto anim events (falseby 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
meshoptimizertov0.20 - Optimize time service update math code
- Remove old warnings about invalid model instance buffer
- Replace
ImportedModelDatawithModelDatafor model importing - Refactor
INetworkDriver::PopEventto use network event as output parameter rather than raw pointer - Refactor objects splitting in models importing to be handled by
ModelToolnot the importer code itself - Refactor prefab's
objectsCacheto be explicitlySceneObjectvalues - 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
NetworkManagerwhen network peer returns invalid event type - Fix zero clamp on hinge velocity to allow negative values
- Fix
__cplusplusmacro 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
MissingScriptto 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
Variantto 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
Swapfor non-copyable types - Fix swapping core collections
- Fix project initialization with
-newif it already exists - Fix calling script
OnDestroywhen 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
.ddsfilesas-isif 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
gitprocess end properly - Fix managed method delegate creation to be thread-safe
- Fix typo in
Tagcomparison function - Fix render target pool over-allocation when changing render resolution frequently
- Fix deadlock in
Asset.WaitForLoadedwhen 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
Update 1.7.6406.1
Blog post: https://flaxengine.com/blog/flax-1-7-1-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_7/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-7-6406-1/1482
Changelog:
- Add SetThreadAffinityMask and SetThreadPriority and thread name for Apple platforms
- Add storing shader asset includes paths in compact format for portability
- Add unit test for
HashSetandDictionarycollection types - Add debug drawing contact offset for selected collider
- Add custom model picker in material preview
- Add
CustomScenesfeature to draw a fixed set of scenes withinSceneRenderTask - Add minor improvements to reference properties
- Add more alternative titles to Surface nodes
- Add order and ordering options to comments in Surface graph
- Add
SortScoreto Visject node archetypes and use it to favor method overrides in Visual Script - Add Convert to Parameter for Surface constant nodes
- Add support for unlimited window size if
MaximumSizeis set to zero - Add spawning UI Canvas Scaler when adding new UI Canvas
- Add handling
ViewLayersMaskfrom camera when rendering UI Canvas - Add copying old UI Control data to new UI Control when changing type
- Add option to limit number of items in Dropdown popup
- Add optional scrollbar to Dropdown popup list
- Add immediate game viewport sync after aspect ratio change in Editor
- Add new light theme to Editor UI
- Add better formatting for automatic tooltips in Editor from xml comments
- Add input bindings for game window mouse unlock and toggle fullscreen
- Add button to reload scenes via Editor menu
- Add short delay before auto-selecting editor tab on drag over header
- Add rebuilding navigation mesh after apply changes in Navigation asset
- Add dragging items support into lists and arrays in the Properties window
- Add
CalculateBoneOffsetMatricesoption to fix some animated model skeletons rendering - Add
GetRotationFromToandFindBetweenutilities to C#QuaternionAPI - Add
GetSplineSegmentLengthto get spline segment length - Add new material nodes:
Rectangle Mask,FWidth, andAA Step - Add default value for material
Sphere Masknode to create blob gradient around UV center - Add
SetNodeTransformto Animated Model - Add waking up rigidbodies when changing kinematic state
- Add name to Android main thread
- Add limits to cloth brush values
- Add support for including global configs in engine configuration options
- Add .NET SDK version
7as forced to be used during game cooking (dotnet8 can be sued with Editor) - Add clearing BT memory in non-release builds to make issues spotting easier
- Add better errors logging to BT nodes in case of issues
- Add soft check for null managed object value for unboxing
- Add
Styleproperty getter toFontAssetto access its style flags - Add engine version in Editor main window title
- Add security lockers for managed typeinfo access
- Add git submodule init to git project cloning
- Add support for getter-only properties in blackboard selector access
- Add automatic show of skeleton when entering skeleton tab in skinned model editor
- Add extended buttons support for Linux
- Add
XDG_DATA_HOMEenv var usage the approved default as per specification on Linux - Add
GetStackFramesandIsDebuggerPresenton Linux - Add
GetStackFrameson Android - Add decoding stack trace function names on Apple platforms
- Add always logging unhandled C# exception
- Add better support for .NET SDK and .NET 8
- Add
-dotnet=vercommand arg toFlax.Buildto specify .NET SDK version to use for build - Add better project files generation for Rider
- Optimize
Control.UpdateTransformfor faster UI math - Improve Cloth usage
- Use soft asset ref to graphics settings
- Update Tracy Profiler to
0.10 - Continue
Delegaterefactor to use single memory allocation and atomic operations for data access - Remove
SHADOW_MAPS_FORMATand support fallback formats for shadow maps - Remove actor layer auto apply via message box dialog during Play Mode
- Remove unsupported material parameter types
QuaternionandTransform - Reduce
LargeWorlds::ChunkSizeto8192 - Refactor
GPUResourcePropertyto cleanup code - Refactor main editor viewport and prefab viewport to share dragging handling code
- Refactor default
ContactOffsetforColliderto be2(keep10forCharacterController) - Refactor
HashSetandDictionarycollections capacity to handle rehashing when too many elements were deleted - Fix
DeepClone()when used on object of different runtime type - Fix CultureInfo to handle missing country code and fallback to outer language code
- Fix various typos and wording in docs
- Fix incorrect tabs selection handling when tab gets removed
- Fix various cases of closing window tabs when using Dock Windows in Editor
- Fix color picker dialog not staying inside the current screen
- Fix custom editor layout rebuilding when it has more editors in use
- Fix error during new json asset creation via
ContentContextMenuif the class is missing empty constructor - Fix various cases of closing window tabs when using Dock Windows in Editor
- Fix Output Log window to scroll log on startup properly
- Fix
CollectionEditorto properly support editing multiple arrays - Fix Dropdown popup to properly scale when using Canvas Scaler
- Fix common Editor tooltips with hardcoded keybindings
- Fix color editing control to properly handle mouse event
- Fix anim slot from playing animations more than 1 time based on speed
- Fix
NetworkTransformto properly reject local simulation deltas on incoming authoritative transform data - Fix BehaviorTree node UI after adding decorator that was already there
- Fix
BitArray::SetAll()when the item is not multiple of8 - Fix some Center geometry import issues and add option to be able to shift mesh to local origin
- Fix generic types including to be recursive in C++ bindings codegen
- Fix content storage usage with relative paths
- Fix issue involving stale scripting assemblies in
FlaxEngine.Jsondynamic type resolution - Fix incorrect directional light shadows influence on secondary render views
- Fix incorrect spline length calculation if first point is not at spline origin
- Fix missing interfaces support in
Actor::FindScript - Fix missing initialization of scene objects added from prefab
- Fix marking scene as dirty when creating prefab from existing actor
- Fix unpacking
Float3and other inbuiltVarianttypes via Unpack node in Visual Script - Fix issue with asset loading to be properly canceled when reimporting file
- Fix loading delay-loaded-dll on Windows when using project plugin with native dependencies
- Fix bug when spawning new prefab objects during scene load due to regression in async scene init
- Fix memory leak while doing drag&drop with Debug Draw in use
- Fix Visual Script parameter setter node to accept multiple input flows
- Fix scenes reload feature to check if can do it, properly use async in play mode and ask for save if scene is modified
- Fix missing script replacement if data has object id that doesn't match current parent
- Fix Mono GC threads suspend to not deadlock when attaching native threads to managed runtime
- Fix Steam AppId if settings asset is missing and force keep it in sync with
steam_appid.txtfile (Steam Online Platform) - Fix PostFx settings in Graphics Settings to be only used when checked as override
- Fix BT logic flow when start/stopping behavior
- Fix deadlock regression when saving Visual Script in Editor with active instance objects
- Fix deadlock in editor when using snap to the group with actor that has empty bounds
- Fix
Win32CriticalSectionto use spin count of4000instead of just100 - Fix crashes in various dictionary usages caused by duplicated keys
- Fix crash when creating empty cloth
- Fix crash when trying to build navmesh with null scene
- Fix crash on negative collection capacity due to
int32maximum value limit - Fix crash when not clearing Online Platform in Editor before hot-reload
- Fix crash when rigidbody gets deleted during physical collision
- Fix crash on editor startup without code editor selected
- Fix crash on hot-reload in Editor due to leftover scripting events in
ScriptingEvents::EventsTable - Fix crash in Global Surface Atlas when dirty object is missing
- Fix crash in Multi Blend 2D node in Anim Graph when using single animation on a triangle
- Fix crash during asset loading due to potential threading issue when 2 threads load the same asset
- Fix crash when debugging BT node state while tree is not running
- Fix crash when reading
BehaviorKnowledgeSelectorvalue in C# when type doesn't match exactly
Update 1.7.6404
Blog post: https://flaxengine.com/blog/flax-1-7-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_7/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-7-6404/1425
Changelog:
- Add Cloth simulation with physics
- Add cloth painting tools to Editor
- Add async cloth simulation via Job System
- Add distance-based and frustum-based culling to cloth
- Add
MeshReferencetoModelInstanceActorfor easy mesh referencing and its data access interface - Add
MeshDeformationutility for generic meshes vertices morphing (eg. via Blend Shapes or Cloth) - Add
NvClothdependency - Add copy/move ctor/operator to
Delegate - Add
NavMeshRuntimeto scripting api - Add
MoveTowardsto Vector3 - Add stencil buffer support to
GPUPipelineState - Add
GPUContext::SetStencilRefto stencil reference value - Add
DebugDraw::DrawLinewith separate start/end colors - Add
RenderTools::CalculateTangentFrameutility - Add
ReadOnlytoCustomEditorPresenter - Add
Variant::AsStructure()to comparision operator betweenVariantTypeandScriptingTypeHandle - Add
SerializableScriptingObjectfor easier serialization of scripting objects in gameplay or content - Add
IPresenterOwnerto editor Custom Editor for more context and advanced interactions - Add
GroupArchetypeto Visject nodes spawn query check - Add
SealedNodesfeature to Visject Surface nodes - Add
SurfaceNodeActionsfor more contextual surface nodes scripting - Add
OnPastedto Visject Surface nodes for custom post-paste logic - Add Visject surface boxes and connections drawing customization via style
- Add reroute node usage to Visject only if surface type allows it
- Add
AImodule to engine - Add Behavior Trees editing and simulation
- Add
BehaviorKnowledgeSelectorfor Behavior Knowledge unified data access - Add
GetDebugInfoto BT nodes for debugging - Add Decorators to Behavior Tree
- Add concept of Goals to Behavior Knowledge
- Add animation asset input box to animation sample node
- Add
HasDepthClipto GPU Device limits - Add
foreachloop support toSpantype - Add checking for
Altkey pressed to expand/collapse all actors in hierarchy - Add
IsDebuggerPresentfor macOS and iOS platforms - Add better viewport camera settings and control
- Add
GetHashto Vector types - Add support for using
Revisionnumber in projects version - Add support for runtime running on GPU without Compute Shaders support
- Add logging any XAudio2 backed errors
- Add
Spacebarto toggle play/pause in Audio Clip window - Add data sent/receive rate charts to the network profiler in Editor
- Add outputting shader source code in Editor to text file when compilation fails for debugging
- Add changing terrain brush size with
Shift + Scroll - Add default font bundling (optional) and setup UI Style to match editor logic
- Add preventing project file regeneration running while compiling scripts
- Add delay to compiler and project generation after large file operations in Editor
- Add
SubAssetFolderto model import option to redirect auto-imported materials and textures location - Add excluding GPU swapchain present time from CPU draw time in profiling tool
- Add showing full exception message in error message box for managed exceptions
- Add popup to editor options closing to remind the user to save
- Add more Editor input binding options
- Add context-sensitive node search to Visject (surface editor)
- Add automatic casting setup to Visual Script graph editor
- Add several fixes to UI sizes when fonts are larger in Editor (eg. when using custom fonts)
- Add customizable statusbar colors to Editor theme (change playmode status color to green)
- Add
View Layersoptions and Reset/Disable/Copy/Paste buttons editor viewport options - Add
RenderFlagsandRenderViewtoCameraactor properties - Add tooltips to move with the mouse cursor
- Add automatic module creation via Content window context menu (in game
Sourcefolder) - Add using text
Show in Finderon macOS in Editor - Add button to position camera to editor viewport view
- Add showing only collision wireframe in
CollisionDataWindow - Add Main Window to C# through
Screenclass - Add
SmoothDampforVector2andVector3 - Add
BaseLinesGapScaleconfigurable forLabel - Add improved mouse wheel scrolling behavior in UI
- Add handling double clicking in
CheckBox,Button,DropdownandDropPanelcontrols - Add the option to import materials for a model as instances of another material in the project
- Add support for importing embedded textures via
Assimpimporter - Add auto-rename start when adding new actor in Scene Tree window
- Add automatic game settings apply when saving json file in Editor
- Add collision type to model importer
- Add bending for connections around nodes in Visject graph editor
- Add improvements to Clang compiler detection
- Add better Visual Studio project Ids preservation when regenerating script project files
- Add always generate additional Visual Studio solution files for all platforms (improves VSCode and Rider usage)
- Add building C# bindings after generating engine project files
- Add VS Code launch task for attaching native debugger
- Add remapping non-native Editor VS build configurations to native configurations
- Add Rider-specific user solution configuration files generation
- Add thread-safety to various scripting methods
- Add better missing script handling in Editor
- Add Game Settings open button to Edit menu
- Add input states to
InputEventandAxisChangedevent toInputAxis - Add
SelectionChangedpublic event forVisjectSurfaceand properly invoke it only when selection actually changes - Add ignoring types with
CompilerGeneratedAttributein Editor - Add
ScriptingTypeto msvc natvis - Add
GetCollidersutility toRigidBody - Add allow using
CustomValueContaineras readonly if setter action isnull - Add
MarshalAstag to API structs/classes for custom marshaling via implicit casting - Add
internalaccess level to Scripting API members (field, properties and functions) - Add support for accessing scripting properties via
ManagedBinaryModulefields API - Add double-reference support for scripting function parameters to move value
- Add
Random::RandRange - Add spot light inner circle debug lines
- Add light debug view flag to draw light shapes
- Add grid scale to the editor viewport settings
- Add quick
Cook&Runbutton, Play in Editor actions, and customizable number of players setting - Add locked focus to Editor (
Shift+F) - Add a generic version of
AssetReferenceAttribute - Add
NetworkReplicator::ResolveForeignObject - Add
Object::DeleteObjectNowasObject.DestroyNowin scripting - Add
ModelInstanceActor::GetMaterialto get actual material used to render certain entries - Add
ModelInstanceActor::GetMaterialSlots - Add showing rendering material to model entries
- Add improvements to various context menus in Editor
- Add batch creating prefabs from multiple selected actors in the scene tree
- Add scroll to selected asset/content item on asset picker select menu open
- Add pasting at same level as selected actor parent node instead of under selected node
- Add functionality to combine similar Debug Logs into a log with a count
- Add
paramstag toAPI_PARAMfor C# variadic parameters support - Add user defined analyzers/source generators support in
Flax.Build - Add build option to change code optimization level in C# modules
- Add default C# code optimization in Editor development builds
- Add
sealedtag to virtual functions in API bindings to block inheritance in C#/VS - Add common .NET SDK preprocessor definitions
- Add skipping post processing when tonemapping and camera artifacts are disabled
- Add
HasBorderoption toButtoncontrol - Add borderless window switch at runtime (Windows only for now)
- Add ability to clean terrain patch caches
- Add macOS message box with buttons
- Add versions sorting to VulkanSDK selection on macOS
- Add ignoring
.DS_Storefiles in Content on macOS - Add
FileSystemWatcherfor macOS to track file changes in Editor - Add codesigning to macOS editor package binaries
- Add control/command/option keys handling on macOS
- Add shwoing Json Asset type on ToolStrip of Json Asset window
- Add timeline position numbers and add to GUI
- Add a way to reset an
IBrushto null for default functionality in Editor - Add
MethodandOrigintoProgressBarfor custom progress drawing - Add automated plugin project creation and Git cloning in Editor
- Add tab breaks for window tabs
- Add new look to Content items
- Add sorting plugin projects in content tree
- Add showing/hiding engine/plugin/misc/generated files in content tree and view
- Add slider control to UI library
- Add
InputEventandInputAxiseditors with pickers - Add
InputEventforUICanvasnavigation actions - Add shift + tab support in UI navigation
- Add ctrl+backspace support to Text Box
- Add more border options to several controls
- Add MMB Panning to Visject Surface
- Add highlighting when mouse is over slider thumb
- Add new Spline editing tools for Editor
- Add editor shortcuts usability when toolstrip or main menu controls are focused
- Add support for editing
WheeledVehiclewheels config at runtime without full physics state rebuild - Add support for editing
WheeledVehicleengine/differential config at runtime without full physics state rebuild - Add remove tag method to actor
- Add conditional profiling in Editor (run only when using Profiler window)
- Add
DebugDraw::DrawRayfunction - Add
WindowBase::Resizeddelegate - Add using exact C# method profiler data for profiler events in overriden thunk method cal...
Update 1.6.6344
Release notes: https://docs.flaxengine.com/manual/release-notes/1_6/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-6-6344/1041
Changelog:
- Add .NET 7 support with C# 11 and the latest DotNet Runtime (new JIT and GC)
- Add
Platform.BuildTargetArchitectureto build tool - Add support for mixed scripts debugging in Visual Studio (both C++ and .Net Core)
- Add logging native exception stack trace on Windows when debugger is attached before going back to the crash location
- Add unit test to verify
LibraryImportattributes usage for proper bindings - Add PhysX 5
- Add Physics Statistics and profiler
- Add
FileSystem::GetDirectorySize - Add option Skip .NET Runtime Packaging to skip backing C# class library with cooked game (to use system-installed if possible)
- Add printing output C# files size in game cooker
- Add C# class library optimization for normal game builds (without AOT)
- Add multi-threading to AOT compilation (3x faster builds for Consoles and iOS)
- Add support for handling network events immediately in
NetworkLagDriverwhen Lag is set to zero - Add Any State to Anim Graph state machines
- Add Interruption options to State Machine transition
- Add skeleton node or bone copy context menu in Editor
- Add debug drawing selected skeleton node in Skinned Model window viewport
- Add skeleton nodes names debug drawing in Editor preview when enabled
- Add skeleton retargeting to play animations on different skeletons
- Add scale parameter to
DebugDrawtext drawing to rescale text without reducing font size - Add support for importing skeleton-only as Skinned Model (eg. from animation file to have skeleton for retargeting)
- Add support for macOS arm64 (M1/M2 chips)
- Add logging missing asset type on failed load
- Add
Output/folder to .gitignore - Add
TaskGraphSystem.RemoveDependencyand automatically cleanup dependencies on system destroy - Add better looking Anim Graph state machines nodes
- Add support for using
INetworkSerializableon custom structure in C++ for networking - Add support for spawning multiple objects over network within a single group that is not from Prefabs
- Add Network Replication Hierarchy for robust control over replication in multiplayer games
- Add network error log for missing network object when accessing ownership
- Add CPU profiler events to various networking functions
- Add network replication hierarchy system to Arizona Framework with settings and scripting features
- Add
NetworkReplicator::HasObject - Add network debugging panel to actors and scripts
- Add
INetworkObject::OnNetworkSync - Add default empty implementations to
INetworkObjectfor easier suage in game scripting - Add
SoftTypeReference<T>to scripting API for lazy-load type references (via typename) - Add input action phases
- Add
Camera.UnprojectPointmethod - Add play, pause, and stop functions to the Particle Effect
- Add better tooltips for assets in Content window
- Add better organization to the style groups of UI controls
- Add better UI for linking scale values in a transform more intuitive
- Add Pivot Relative UI Sizing to controls
- Add support for editing dictionary keys that are structures
- Add asset reload option via context menu in Editor
- Add search actors by parent tag (
Level.FindActorsByParentTag) - Add
FindActorby type and name (to actor and level) - Add
CustomArgsto compile and link environment in build tool for customization - Add preferring high-performance discrete GPUs when enumerating adapters
- Add
Utilities::HertzToTextvia newUtilities::UnitsToText - Add
LineCastandLineCastAllto physics scripting - Add default new script name to
MyScriptand avoid namign it asScriptto make it easier for use - Add
Platform::GetMousePosition/WindowsPlatform::SetMousePositionfor unified access to screen-space mouse position on all platforms - Add eyedropper color picker for Editor on Windows and Linux
- Add better usability when duplicating points of a spline
- Add various
Inputclass delegates to the C#/Visual scripting API - Add automated test for loading nested prefab with different root actor
- Add bitmap data slot of Font glyphs in
FontTextureAtlas - Add
Span<T>support for scripting fields - Add
Span<T>to C++ debugger natvis file - Add HRTF Audio support (via
OpenALbackend) - Add updating the main menu shortcut keys on editor options save
- Add Copy Euler angles to Quaternion editor context menu
- Add logging
PixelFormatas string instead of integer value for better readability - Add
ClampLengthfunctions to C++Vector3 - Add InputBindings modifiable from plugin (in Editor public API)
- Add word wrapping on capital letters and underscores for better text rendering
- Add various changes to scroll bar to make it feel better
- Add de-selecting items in content view by clicking empty space in Editor
- Add the play icon to a stop icon and vice versa when clicked for the Profiler
- Add
Create collision dataaction to be performed for each model selected in the Content Window - Add improvements for Visject context menu interface in Editor
- Add ability to change the fps of the not focused editor window
- Add setting new material instance name to parent material name
- Add
EnumAddFlagsfor easy flags appending - Add
NetworkReplicator::EnableLogto optionally enable verbose logging of networking - Add
NetworkStream::SenderIdto detect message sender during object replication or RPC code - Add
NetworkManager::GetClientbyuint32 clientId - Add
NetworkRpcParamsfor sending RPC to specific set of clients or to read sender id - Add array property replication code-gen for C# networking
- Add networking replication codegen for C# array properties with object references or custom structures
- Add LateFixedUpdate event for scripts
- Add support for decimal values in
Fontsizes - Add proper POD types check in C# network replication codegen
- Add support for C# array as network RPC method parameter
- Add objects ID inverse mapping from client to server for proper C# networking codegen
- Add optional replication for network object (if Rep FPS is negative)
- Add support for changing C# nullable references context build option
- Add Content importers and exporters for scripting API
- Add more usability to model/material previews in Editor
- Add option to search only active actor with
Tag - Add output binaries folder cleanp to build clear command
- Add support for writing UTF-8 files in
FileBase::WriteAllText - Add ability to unset type reference with
nullitem - Add
SpanContainsutility to C++ scripting - Add
ReallocAlignedutility - Add support for line-breaks in
API_INJECT_CODEmacro - Add
eol=lfto gitattribute - Add removing old hot-reload files in project references on Editor startup
- Add better visuals of dragging a tree node
- Add
Unload all but this sceneto Editor scene tree context menu - Add using parent actor's name as initial prefab name in Editor
- Add
MoveTowardsfunctions to C++ Math - Add
Tags::GetSubTagsto scripting api - Add
ViewportIconsRenderer::AddActorWithTexturefor custom actor icon per-actor - Add inputs to Random Range nodes in particle emitter surface
- Add
==operator for Actors and Scripts to properly perform comparison in C# scripts - Add
AudioDataInfo.Length - Add audio clip preview refresh on asset reimport in Editor
- Add current playback position preview with seeking functionality to Audio Clip window in Editor
- Add OpenAL
AL_SOFT_source_spatializeextension support for stereo spatial audio playback - Add
AllowSpatializationoption to Audio Source - Add
DopplerFactorto Audio Source - Add
Panto Audio Source for stereo panning - Add editor playback utilities for Audio Source and Scene Animation Player
- Add saving and re-opening all active scenes between editor sessions
- Add ensuring prefab actors static flags match parent flags or keeps it's own
- Add logging .NET runtime version to build tool
- Add ignoring logging missing env var on Windows
- Add engine version defines for build scripts (eg.
FLAX_1_6_OR_NEWER) - Add automated test for strings formatting and localization
- Add content proxy modifications function and workspace rebuilding for custom asset types extensions
- Add build tool and game cooker caches clearing when opening project with different Editor version
- Add GC to run periodically in order to reduce stuttering
- Add
launchSettings.jsongeneration for Visual Studio 2022 with .NET 7 - Add better Texture initialization API with custom data
- Add better Visual Studio solution generation with nested C# project cross-references to properly place projects in group folders
- Improve Root Motion extraction and playback
- Improve automatic slider speed for float value fields in Editor
- Optimize
Flax.Buildperformance to have even faster builds - Optimize bindings code generation via String Builder pooling
- Optimize text formatting in various places
- Optimzie
Newtonsoft.Jsonlib by removing Xml, Schema support and making it AOT-friendly for AOT game builds - Optimize out
System.ComponentModel.TypeConverterassembly usage to reduce cooked game builds - Optimize profiler window assets and GPU resources sorting when the view is active only
- Optimize network replication when no client can receive object
- Optimize interface method lookup to eliminate
strlencalls - Optimize vectors normalization
- Optimize UI performance when destroying complex UI structures
- Optimize
Utils.InitStructureusage in generated bindings code if structure can be zero-inited - Optimize
CollisionsHelper::FrustumContainsBox - Optimize out debug symbols generation for C# stdlib in Mono AOT builds
- U...