Skip to content

Releases: FlaxEngine/FlaxEngine

Update 1.11.6802

29 Oct 21:53

Choose a tag to compare

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_CONSOLE define and fix desktop to be as Windows/UWP, not Win32
  • Add support for using custom memory allocator in lambda bind to Function
  • Add GPUResourceMapMode.NoWait flag to control buffer data reading
  • Add nvapi third party module (NVIDIA driver extensions)
  • Add AGS third party module (AMD driver extensions)
  • Add nvapi/AGS libs 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 UseLogInRelease to 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.Resize for quick crouching implementation for characters
  • Add option to change Character Controller capsule origin to start at feet location
  • Add SCOPE_EXIT macro
  • Add PositionFormat and TexCoordFormat to model import option for mesh data encoding
  • Add GPUDevice.VideoOutputs with a list of attached monitors
  • Add stencil buffer usage with object layer information
  • Add new scene textures SceneStencil and ObjectLayer to sample Stencil buffer
  • Add render layer mask to decals
  • Add ReadWriteLock to platform api
  • Add support for large 16kb page sizes on Android
  • Add Android native crashes caching
  • Add new PreIntegratedGF with 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 Error to Build Settings for automatic mesh vertex positions storage
  • Add improved import path UI
  • Add LayoutElementsContainer.Image with IBrush for Editor
  • Add new UIBrush that uses UIBrushAsset json 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 GetOrAddButton utility for MainMenu
  • Add GPUTexture.UploadData for changing texture contents via TextureData container
  • Add Texture Size node 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 SplashImage inside project Content folder)
  • 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 ClipStarted and ClipFinished events 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 InvokeOnUpdate to 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 .hlsl files 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 Shift key
  • 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 SortOrder to Environment Probe
  • Add exception and crashes catching with processing on iOS/macOS
  • Optimize asset references to support direct registration to reduce Delegate memory allocations and overhead
  • Optimize editor profiler allocations when capturing data
  • Optimize actors registration in SceneRendering to track free items
  • Optimize async scene loading to run in separate stages with time-slicing
  • Optimize physics simulation with higher limit of 8 threads
  • 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 ProbesRenderer to use time-slicing for cubemap faces rendering and filtering
  • Optimize SpriteRenderer to 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::GetPath in 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...
Read more

Update 1.10.6705

17 Apr 16:17

Choose a tag to compare

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 SystemName and SystemVersion to Platform API
  • Add Script::IsEnabledInHierarchy
  • Add utility operators for LayersMask bit operations
  • Add HighestSetBit and LowestSetBit utilities
  • Add logging CPU name on Windows
  • Add DriverVersion to GPUAdapter for checking on old GPU drivers
  • Add GPUTexture::DownloadData to 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 Model to Animation Window to preview animation via a different base skeleton with retargetting
  • Add AutoAttachDebugPreviewActor option to editor for quick debugging anim graphs on dynamically spawned player
  • Add Edit GUI option 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 parameters text 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 GPUVertexLayout to 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 GetFields and GetMethods to binary module api
  • Add ToSpan for MemoryWriteStream and 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 Reliable channel to reduce data transfer
  • Add Quaternion quantization for network stream
  • Add Task::WaitAll with a span of tasks and wrap around profiler macro
  • Add SystemName and SystemVersion to Platform api
  • Add Slice to Span and use it to make code cleaner
  • Add PixelFormatSampler utility to quick read/write operations on various data formats
  • Add support for up to 65536 skeleton 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::ReportCrash event for custom crash reporting or handling
  • Add named terrain layers
  • Add warning when used param is being deleted in surface graph
  • Add ButtonAttribute to 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 F key shortcut to show whole curve in editor view
  • Add Alignment option 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 ControlReference for 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.DrawCapsule and deprecate DrawTube
  • Add support for searching actors and scripts by interface
  • Add audio volume and muted in game panel tab rmb menu
  • Add Actor.Clone for actors duplication at runtime (including scripts and children)
  • Add Double4x4 for higher precision matrices operations
  • Add GPUResourceUsage.Staging for both CPU read/write access
  • Add Shift HSV and Color Blend material nodes
  • Add new triplanar node to materials for normal maps sampling
  • Add option for local-space triplanar mapping
  • Add warnings on incorrect GPUBuffer or GPUTexture usage when binding to GPUContext (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 Values info 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 parameters UI to particle effect and animated model
  • Add debug draw clear to game and editor panel (if in use)
  • Add drag drop to FilePathEditor
  • Add root parameter to Level.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 rapidjson when processing json data
  • 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::AddMovement for 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 File menu 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.SignedAngle utility method
  • Add option to reverse winding order of imported model
  • Add renaming surface comments with F2 key
  • Add support for Quaternion in GPU particles graph
  • Add support for using API_TYPEDEF macro on using typedefs
  • Add support for using template type inside MarshalAs tag value
  • Add grey out gizmo in Editor during play mode when editing static actor
    *...
Read more

Update 1.9.6605

17 Oct 17:51

Choose a tag to compare

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::Dispatch that 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::SpreadWorkload to disable graphics workloads amortization over several frames when debugging graphics perf
  • Add SetStablePowerState for D3D12 when doing shaders profiling
  • Add WinPixEventRuntime for D3D12 to provide GPU profiler event names
  • Add timeBeginPeriod(1) on Win32 platforms to improve timer precision
  • Add support for custom deprecation messages in bindings generator
  • Add utility Packing.hlsl shader 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 stencilValue for 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 Shadow for cached shadow maps
  • Add constant buffers alignment for data structures (16-byte boundaries)
  • Add InvalidateShadow for manual shadow cache refresh
  • Add ShadowsResolution for manually specified shadowmap resolution for lights
  • Add METERS_TO_UNITS and impl metric units in shadows rendering
  • Add GlobalSDFDistance to graphics settings for default GlobalSDF range
  • Add video texture formats YUY2 and NV12
  • Add additional StaticFlagsCompare to 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 FilePathEditor custom editor for path-based editing asset/url refs with a file picker
  • Add support for using InputAction editor on string variable
  • Add WindowsMinVer config 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 IsDebugToolAttached to 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 GetInstance method 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 Interop namespace
  • 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 Dropdown popup 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.ShadowUpdateRate to 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 IndirectLightingIntensity to Sky for 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 FormatBytesCount to print large sizes in more detailed way
  • Add copy/paste for material instance parameters via context menu on Parameters group header
  • Add more move value 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 AssetPicker control
  • 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 UpdateFlags to ISceneRenderingListener::UpdateActor for more contextual control over dirtying actors state in renderer data
  • Add NetworkReplicationNode::SetObject to 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 MAX C++ defines in enums and converting them to C#
  • Add Invert Mouse Y-axis option to input options in Editor
  • Add handling .f in C++ values by bindings generator
  • Add code gen for FixedAllocation arrays to generate Collection attribute with allocation count
  • Add using nameof for adding new Modules to build targets
  • Add NetworkReplicator::MapObjectId for networked object identifies mapping
  • Add OrthographicSize to 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 CSharpProxy and Empty C# template
  • Add opening file proxy via shell on Windows in Editor as fallback
  • Add Shift+End and PageUp/PageDown for `Tex...
Read more

Update 1.8.6512.2

22 May 21:27

Choose a tag to compare

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 Delete key
  • Add margin to item tree in toolbox
  • Add shift scroll for panels and textbox
  • Add control transform to General group 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::SetObjectOwnership for incorrect usage
  • Add layer masking for PostFxVolume against Camera's RenderLayersMask
  • Add OnStaticFlagsChanged to Actor
  • Add Gameplay Global combobox to default to the last type of variable
  • Add For Distribution to be enabled by default in Release builds
  • 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 Shift key
  • Optimize navmesh building and reduce scene lock time
  • Rename Options to Editor Options and move under Edit menu
  • Refactor Color.FromRGBA and add matching old logic Color.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 async methods used as RPCs (not supported now)
  • Fix ReadOnly attribute 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

27 Apr 12:00

Choose a tag to compare

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 .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

Update 1.8.6510

29 Mar 20:54

Choose a tag to compare

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 IsValidIndex to Array
  • Add Vehicle Physics Improvements (new options, tank vehicles)
  • Add Create parent for selected actors context menu button
  • Add hiding Actor's Transform for UIControlActor
  • Add RayCast utility to UI controls
  • Add MinCount and MaxCount to Collection attribute
  • 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 Material to RayCastHit for 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 V key pressed)
  • Add support for importing material emissive and roughness from fbx file
  • Add support for using pointer in MarshalAs in scripting types
  • Add quick creation of scripts via * Add script button on Actor
  • Add ScriptingEnum::ToStringFlags for 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 SnapToGrid to vectors
  • Add NextUnitCircleVector2 extension 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 DrawAxisFromDirection and DrawRay with Ray structure 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 activeOnly parameter to Level::GetActors
  • Add parameter to finds only an active actor from the scenes
  • Add breaking node connection under mouse with middle button click
  • Add MoveFileToRecycleBin on Linux
  • Add support for VS 2022 v17.10 / MSVC 14.4x toolset
  • Add check to prevent incorrect NavCrowd::RemoveAgent usage
  • 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 AnimationRootMotionFlags to configure root motion component extraction
  • Add RootMotionMode to 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 LocalizedString value 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 Widget to new asset creation for quick UI setup
  • Add physical units support to input fields in Editor
  • Add InputAxis and InputEvent integration 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 Stopwatch for accurate duration measuring
  • Add OutputName to 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 VisibleIf attributes
  • 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 Time option for Audio Source actor
  • Add support for manually dirtying objects that use ReplicationFPS < 0 for 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 Matrix decomposition to use Matrix3x3 for 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 dotnet fork to the latest .NET 8.0.1
  • Refactor win32 exe icon updating
  • Refactor ThreadLocal when running on hardware with more cores than PLATFORM_THREADS_LIMIT
  • Refactor UI Control actor active state mirroring in UI via Visible properties 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 PhysicsColliderActor class
  • Refactor PhysicalMaterial usage to utilize JsonAssetReference struct
  • Refactor 3D audio implementation in XAudio2 backend to match OpenAL
  • Refactor Visject Surface attributes data storage to use JsonSerializer instead of deprecated BinaryFormatter
  • Refactor engine systems to use platform time seconds rather than date time
  • Remove unused SaveTime/LoadTime from Scene
  • Remove unused 'PixelFormatExtensions::ComputeScanlineCount'
  • Rename Navigation.ProjectPoint into Navigation.FindClosestPoint to 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 unlink usag 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 Variant structure 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::CopyDirectory not failing when source folder is missing
  • Fix mouse events handling over window title bar on Windows
  • Fix HeaderAttribute usage 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 CameraNearPlaneValue getting overwritten
  • Fix Dropdown panel to scale correctly
  • Fix ContextMenu short keys as needed to accommodate for scrollbar when visible
  • Fix combobox window position based on what direction it opens
  • Fix AlwaysShowScrollbars to 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/ddy in 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 NextUnitVector2 to 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...
Read more

Update 1.7.6407.2

20 Dec 21:17

Choose a tag to compare

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 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 to Vector2/Vector4
  • Add Where, Select and RemoveAll to ArrayExtensions
  • Add SloppyOptimization disabledby default and lower default LOD 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 to v0.20
  • Optimize time service update math code
  • Remove old warnings about invalid model instance buffer
  • Replace ImportedModelData with ModelData 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 explicitly SceneObject 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 files as-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 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

Update 1.7.6406.1

25 Nov 21:45

Choose a tag to compare

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 HashSet and Dictionary collection types
  • Add debug drawing contact offset for selected collider
  • Add custom model picker in material preview
  • Add CustomScenes feature to draw a fixed set of scenes within SceneRenderTask
  • Add minor improvements to reference properties
  • Add more alternative titles to Surface nodes
  • Add order and ordering options to comments in Surface graph
  • Add SortScore to 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 MaximumSize is set to zero
  • Add spawning UI Canvas Scaler when adding new UI Canvas
  • Add handling ViewLayersMask from 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 CalculateBoneOffsetMatrices option to fix some animated model skeletons rendering
  • Add GetRotationFromTo and FindBetween utilities to C# Quaternion API
  • Add GetSplineSegmentLength to get spline segment length
  • Add new material nodes: Rectangle Mask, FWidth, and AA Step
  • Add default value for material Sphere Mask node to create blob gradient around UV center
  • Add SetNodeTransform to 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 7 as 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 Style property getter to FontAsset to 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_HOME env var usage the approved default as per specification on Linux
  • Add GetStackFrames and IsDebuggerPresent on Linux
  • Add GetStackFrames on 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=ver command arg to Flax.Build to specify .NET SDK version to use for build
  • Add better project files generation for Rider
  • Optimize Control.UpdateTransform for faster UI math
  • Improve Cloth usage
  • Use soft asset ref to graphics settings
  • Update Tracy Profiler to 0.10
  • Continue Delegate refactor to use single memory allocation and atomic operations for data access
  • Remove SHADOW_MAPS_FORMAT and support fallback formats for shadow maps
  • Remove actor layer auto apply via message box dialog during Play Mode
  • Remove unsupported material parameter types Quaternion and Transform
  • Reduce LargeWorlds::ChunkSize to 8192
  • Refactor GPUResourceProperty to cleanup code
  • Refactor main editor viewport and prefab viewport to share dragging handling code
  • Refactor default ContactOffset for Collider to be 2 (keep 10 for CharacterController)
  • Refactor HashSet and Dictionary collections 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 ContentContextMenu if 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 CollectionEditor to 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 NetworkTransform to 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 of 8
  • 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.Json dynamic 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 Float3 and other inbuilt Variant types 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.txt file (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 Win32CriticalSection to use spin count of 4000 instead of just 100
  • 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 int32 maximum 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 readingBehaviorKnowledgeSelector value in C# when type doesn't match exactly

Update 1.7.6404

31 Oct 15:39

Choose a tag to compare

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 MeshReference to ModelInstanceActor for easy mesh referencing and its data access interface
  • Add MeshDeformation utility for generic meshes vertices morphing (eg. via Blend Shapes or Cloth)
  • Add NvCloth dependency
  • Add copy/move ctor/operator to Delegate
  • Add NavMeshRuntime to scripting api
  • Add MoveTowards to Vector3
  • Add stencil buffer support to GPUPipelineState
  • Add GPUContext::SetStencilRef to stencil reference value
  • Add DebugDraw::DrawLine with separate start/end colors
  • Add RenderTools::CalculateTangentFrame utility
  • Add ReadOnly to CustomEditorPresenter
  • Add Variant::AsStructure() to comparision operator between VariantType and ScriptingTypeHandle
  • Add SerializableScriptingObject for easier serialization of scripting objects in gameplay or content
  • Add IPresenterOwner to editor Custom Editor for more context and advanced interactions
  • Add GroupArchetype to Visject nodes spawn query check
  • Add SealedNodes feature to Visject Surface nodes
  • Add SurfaceNodeActions for more contextual surface nodes scripting
  • Add OnPasted to 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 AI module to engine
  • Add Behavior Trees editing and simulation
  • Add BehaviorKnowledgeSelector for Behavior Knowledge unified data access
  • Add GetDebugInfo to 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 HasDepthClip to GPU Device limits
  • Add foreach loop support to Span type
  • Add checking for Alt key pressed to expand/collapse all actors in hierarchy
  • Add IsDebuggerPresent for macOS and iOS platforms
  • Add better viewport camera settings and control
  • Add GetHash to Vector types
  • Add support for using Revision number in projects version
  • Add support for runtime running on GPU without Compute Shaders support
  • Add logging any XAudio2 backed errors
  • Add Spacebar to 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 SubAssetFolder to 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 Layers options and Reset/Disable/Copy/Paste buttons editor viewport options
  • Add RenderFlags and RenderView to Camera actor properties
  • Add tooltips to move with the mouse cursor
  • Add automatic module creation via Content window context menu (in game Source folder)
  • Add using text Show in Finder on 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 Screen class
  • Add SmoothDamp for Vector2 and Vector3
  • Add BaseLinesGapScale configurable for Label
  • Add improved mouse wheel scrolling behavior in UI
  • Add handling double clicking in CheckBox, Button, Dropdown and DropPanel controls
  • Add the option to import materials for a model as instances of another material in the project
  • Add support for importing embedded textures via Assimp importer
  • 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 InputEvent and AxisChanged event to InputAxis
  • Add SelectionChanged public event for VisjectSurface and properly invoke it only when selection actually changes
  • Add ignoring types with CompilerGeneratedAttribute in Editor
  • Add ScriptingType to msvc natvis
  • Add GetColliders utility to RigidBody
  • Add allow using CustomValueContainer as readonly if setter action is null
  • Add MarshalAs tag to API structs/classes for custom marshaling via implicit casting
  • Add internal access level to Scripting API members (field, properties and functions)
  • Add support for accessing scripting properties via ManagedBinaryModule fields 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&Run button, 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::DeleteObjectNow as Object.DestroyNow in scripting
  • Add ModelInstanceActor::GetMaterial to 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 params tag to API_PARAM for 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 sealed tag 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 HasBorder option to Button control
  • 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_Store files in Content on macOS
  • Add FileSystemWatcher for 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 IBrush to null for default functionality in Editor
  • Add Method and Origin to ProgressBar for 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 InputEvent and InputAxis editors with pickers
  • Add InputEvent for UICanvas navigation 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 WheeledVehicle wheels config at runtime without full physics state rebuild
  • Add support for editing WheeledVehicle engine/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::DrawRay function
  • Add WindowBase::Resized delegate
  • Add using exact C# method profiler data for profiler events in overriden thunk method cal...
Read more

Update 1.6.6344

08 Jul 21:41

Choose a tag to compare

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.BuildTargetArchitecture to 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 LibraryImport attributes 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 NetworkLagDriver when 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 DebugDraw text 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.RemoveDependency and automatically cleanup dependencies on system destroy
  • Add better looking Anim Graph state machines nodes
  • Add support for using INetworkSerializable on 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 INetworkObject for easier suage in game scripting
  • Add SoftTypeReference<T> to scripting API for lazy-load type references (via typename)
  • Add input action phases
  • Add Camera.UnprojectPoint method
  • 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 FindActor by type and name (to actor and level)
  • Add CustomArgs to compile and link environment in build tool for customization
  • Add preferring high-performance discrete GPUs when enumerating adapters
  • Add Utilities::HertzToText via new Utilities::UnitsToText
  • Add LineCast and LineCastAll to physics scripting
  • Add default new script name to MyScript and avoid namign it as Script to make it easier for use
  • Add Platform::GetMousePosition/WindowsPlatform::SetMousePosition for 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 Input class 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 OpenAL backend)
  • Add updating the main menu shortcut keys on editor options save
  • Add Copy Euler angles to Quaternion editor context menu
  • Add logging PixelFormat as string instead of integer value for better readability
  • Add ClampLength functions 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 data action 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 EnumAddFlags for easy flags appending
  • Add NetworkReplicator::EnableLog to optionally enable verbose logging of networking
  • Add NetworkStream::SenderId to detect message sender during object replication or RPC code
  • Add NetworkManager::GetClient by uint32 clientId
  • Add NetworkRpcParams for 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 Font sizes
  • 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 null item
  • Add SpanContains utility to C++ scripting
  • Add ReallocAligned utility
  • Add support for line-breaks in API_INJECT_CODE macro
  • Add eol=lf to 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 scene to Editor scene tree context menu
  • Add using parent actor's name as initial prefab name in Editor
  • Add MoveTowards functions to C++ Math
  • Add Tags::GetSubTags to scripting api
  • Add ViewportIconsRenderer::AddActorWithTexture for 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_spatialize extension support for stereo spatial audio playback
  • Add AllowSpatialization option to Audio Source
  • Add DopplerFactor to Audio Source
  • Add Pan to 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.json generation 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.Build performance to have even faster builds
  • Optimize bindings code generation via String Builder pooling
  • Optimize text formatting in various places
  • Optimzie Newtonsoft.Json lib by removing Xml, Schema support and making it AOT-friendly for AOT game builds
  • Optimize out System.ComponentModel.TypeConverter assembly 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 strlen calls
  • Optimize vectors normalization
  • Optimize UI performance when destroying complex UI structures
  • Optimize Utils.InitStructure usage 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...
Read more