Skip to content

Update 1.13.7012

Latest

Choose a tag to compare

@mafiesto4 mafiesto4 released this 21 Oct 06:36
· 69 commits to master since this release

Blog post: https://flaxengine.com/blog/flax-1-13-released/

Release notes: https://docs.flaxengine.com/manual/release-notes/1_13/index.html

Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-13/2718

Changelog:

  • Add Hardware Occlusion Culling to models, foliage, particles, terrain and local light shadows
  • Add HZB Occlusion Culling
  • Add more logging on GPU crash
  • Add Array ctor from Span
  • Add security limits for network to avoid too many messages processing
  • Add option to hide debug commands (eg. one auto-added within container class)
  • Add new defaults to Graphics settings to target High by default
  • Add auto-fill to plugin project clone based on clipboard
  • Add debug preview to selected resource in GPU Memory tab
  • Add API to draw Skinned Model from code with Animated Model pose
  • Add FLAXENGINE_VERSION_MAJOR/FLAXENGINE_VERSION_MINOR macros to shaders compilation
  • Add PostProcessEffect.CollectDrawCalls to properly draw custom meshes
  • Add temporal dithering and more accurate blending for contact shadows
  • Add volume debug draw highlight to the selected env probe
  • Add Light Overlap debug view mode
  • Add IndirectShadowsStrength to GI settings for artist-controlled light leaking
  • Add NVIDIA PerfSDK plugin for Flax Engine
  • Add Graphics.Shadows.Dump command for profiling shadow mapping
  • Add Graphics.GI.Dump command for profiling DDGI/GlobalSDF
  • Add Graphics.GI.GetConvergence to use GI bounce progress for game loading screens/fades
  • Add new DDGI Reflections rendering mode for fully dynamic indirect specular
  • Add CanBuild to target for selective project references compilation
  • Add GIProbesSpacing and GlobalSurfaceAtlasResolution to global Graphics for runtime editing
  • Add noise to Global SDF and Surface Atlas debug preview to smooth the tracing
  • Add Global SDF dynamic chunks updates between full cascade updates to hide latency on fast moving objects
  • Add new Lighting debug view mode for both diffuse and specular lighting preview without material colors
  • Add option to render DDGI indirect lighting in half-res with bilateral upscaling
  • Add zooming in and out (FOV) in editor viewport using C and Z keys
  • Add support for Windows 11 SDK version 28000
  • Add auto focus on model when changing Base Model in Anim Graph
  • Add direction gizmo rotation while holding right mouse button
  • Add help support to Debug Commands via XML docs parsing
  • Add client-side window decorations support for macOS editor windows
  • Add MacWindow logo loading and use correct one for Editor
  • Add Volume to audio clip import options
  • Add material instance creation out of other instance
  • Add filtering whitespaces to Xml doc comments of type members and optimize filtering
  • Add type picker when creating abstract class or interface
  • Add cross button to unset abstract class or interface object value
  • Add layers settings shortcut to actor layer dropdown
  • Add support for building Android targets from macOS
  • Add navigation to Slider control
  • Add Create Prefab Variant option to Prefab asset context menu
  • Add utility UI Control spawn menu inside scene/prefab context-menu
  • Add middle and right mouse button actions to asset/object pickers to clear value or show popup quickly
  • Add shortcut to show editor windows content (Ctrl + 0)
  • Add max .NET version to 11
  • Add hiding tooltips when mouse buttons are pressed
  • Add custom animation inputs to Multi Blend nodes
  • Add improved tooltips to Visual Script types with file name
  • Add auto-scroll the Content Window navigation bar to the current folder
  • Add grey display for deprecated enum options
  • Add improved Rider projects C++ preprocessor definitions (Linux/macOS)
  • Add new ScriptingObjectInterfaceReference to reference object with interface
  • Add rich text formatting to Debug Log title messages
  • Add Start/EndTextInput for control to toggle character input events
  • Add MSDF font enhancement (eg. shared size per-asset)
  • Add word wrap support to Rich Text Box
  • Add various improvements to CSG Brushes editing workflow
  • Add more useful titles for BT decorator nodes
  • Add red/green highlights to debug BT node decorator result
  • Add editable keyframe proxies for linear and bezier curve editors, including time/frame fields and curve values
  • Add tangent editing support for bezier curve keyframes in the keyframe edit popup
  • Add curve keyframe edit popup draggable so it can be moved away from the curve view
  • Add CLion support (via CMake project files)
  • Add option when entering play mode to always restore to the editor window after exiting play mode
  • Add auto-select of newly copied/moved content items
  • Add CHECK_NO_RETURN for checks in code that should continue function execution
  • Add VariantType::GetScriptingType for easier type information access
  • Add simpler Variant::Enum that auto-setups variant type from enum scripting info
  • Add more LOD Generation options to model import settings (eg. borders lock, preserve UVs)
  • Add Physics::DeleteScene
  • Add properties search field
  • Add distance-scale to vertex paint vertices
  • Add vertex paint brush size changing with shift+scroll
  • Add improvements to Gameplay Globals editing
  • Add auto-renaming newly added Visject parameters
  • Add Texture and Cube Texture support to Gameplay Globals
  • Add RealtimeSkybox mode to SkyLight for dynamic skylight
  • Add Brightness, ResolusionScale, DebugView, and LayerMask to viewport persistence
  • Add Video playback value on Video Player
  • Add way to get blackboard by type
  • Add AGENTS.md file (to Engine repo)
  • Add auto scroll to new track when adding track to animation
  • Add groups to Animated Model properties and improve skeleton debug drawing
  • Add GetValue by type in c# for gameplay globals
  • Add Escape key to deselect in Editor
  • Add VersionControlInfo to output game build info and log game version with branch/commit info
  • Add D3D12MemoryAllocator for resource allocations on DX12
  • Add GPUMemoryStats for GPU video memory stats
  • Add GPUDrawPass for more efficient render attachments setup
  • Add detecting Vulkan SDK version in build tool
  • Add scalability via AA Quality setting for TAA
  • Add realistic soft shadows on Ultra quality with PCSS filter
  • Add SourceAngle property to Directional light that controls PCSS penumbra size
  • Add highlight to Motion Vectors Debug view for better content optimizing
  • Add Optimization sub-group in view modes list in Editor Viewport
  • Add VSync support to Vulkan
  • Add support for loading custom mouse cursor images
  • Add support for using macros in scripting function parameter default values
  • Add GetTextureData function to texture API in C#
  • Add 'GPUBuffer' parameter type to materials and particles
  • Add rendering stats for Data Upload
  • Add Reversed Z rendering for higher depth buffer precision in open-worlds
  • Add in-built editors for DateTime and TimeSpan
  • Add ShowInPlayMode to HideInEditor attribute for properties/fields that should display in editor only during play mode
  • Add new Level.PreloadSceneAsync for streaming levels before they need to be loaded in
  • Add debug prints for logs init for console issues troubleshooting
  • Add missing serialization and empty ctor to CultureInfo
  • Add EditorUtilities::GetSDK to query SDKs via Flax.Build from editor
  • Add FromMemory and LoadMemory to Texture for loading images from memory
  • Add GetUserAvarar to Online Platform interface
  • Add rich-presence to Online Platform interface (status text and game id)
  • Add game overlay UI utilities to Online Platform interface
  • Add online platform implementation for PSN on PS5
  • Add GDK manifest localization to fix packaging issue
  • Add half-res DDGI reflections resolving to optimize rendering on low-end devices
  • Add Global SDF trace step scale for SSR reflections to handle SSR Quality
  • Add ViewportRect to Camera and rendering for split-screen drawing
  • Add ViewportRect to UICanvas for UI placement
  • Add InputLatencyMs stat to ProfilingTools
  • Add Loaded event to Asset in scripting
  • Add BoundingSphere.Transform with Transform instead of Matrix
  • Add GPUQueryType::BinaryOcclusion for simpler visibility checks
  • Add MaterialTextureMipBias to control texture mip bias in materials for better frame upscaling
  • Add new temporal upsampling option (TAAU) when using location DuringAntiAliasing
  • Add new FSR 4.1 plugin update (SDK 2.3)
  • Add Graphics::MotionVectors::MinObjectScreenSize to skip too small objects from drawing motion vectors
  • Add mesh index buffer optimization based on meshoptimizer library
  • Add Global SDF Overdraw debug mode for content optimizations
  • Add improvements to DDGI sampling and filtering in areas far from probes
  • Add improved fallback GI outside the DDGI range to use a special ambient probe for stability
  • Add CascadeBlendSize to Directional Light
  • Add DefaultProbeCubemapFormat to Graphics Settings with option to compress env probe textures
  • Add MeshAccessor.LoadBuffer with format for Index Buffers
  • Add Temporal Antialiasing as default AA method
  • Add selection drawing and picking gizmo to Foliage Types editing tab
  • Add audio device change detection in OpenAL backend
  • Add ExpandChildSize option to vertical/horizontal panels to resize child controls to fill the panel size
  • Add DrawMaterial feature to RenderToTextureControl for custom post-processing the cached UI image
  • Add ConstantInvalidate option to RenderToTextureControl for no-cached image
  • Add Bypass feature to RenderToTextureControl to skip rendering cached image
  • Disable Motion Blur and Eye Adaptation by default
  • Deprecate the Direction actor property and replace with Forward
  • Remove deprecated UWP platform from Game Cooker window
  • Rename SceneRenderTask::RenderingPercentage to RenderScale
  • Rename Sphere Mask node A and B inputs to be more clear what they do
  • Rename Actor bounding box and sphere properties to be more verbose with Bounding prefix
  • Rename BRDF visibility functions prefix to V_ from Vis_
  • Change default for showing Debug Draw in game window
  • Optimize XML documentation reference parsing and overall performance
  • Optimize model actors entries serialization
  • Optimize auto generated Variant Types in bindings to reduce dynamic memory allocs in game builds
  • Optimize dirty shadow bounds update for particles and foliage
  • Optimize Vulkan texture clears with render pass attachments clear operation
  • Optimize Vulkan render passes with a new GPUDrawPass to manually control attachment operations in higher-level API
  • Optimize various rendering effects with GPUDrawPass
  • Optimize GPU memory allocations on D3D12 with D3D12MemoryAllocator
  • Optimize foliage serialization by batching instance data, performing quantization, and LZ4 compression
  • Optimize first scene startup by preloading it during loading screen
  • Optimize content modifications watching events processing in large projects
  • Optimize CPU rendering of shadowed foliage by splitting draw contexts into separate async jobs
  • Optimize foliage instance bounds calculations
  • Optimize FoliageInstance size to cut down memory by and reduce cache misses when drawing foliage
  • Optimize foliage rendering with less cache misses
  • Optimize foliage drawing by caching per-instance world matrix
  • Optimize large scene files loading by aligning json pool allocator pages to 64kB
  • Optimize large scene/prefa/json assets metadata loading by avoiding parsing full contents
  • Optimize draw calls batching and instancing with better sort keys generation and processing
  • Optimize shadows and depth rendering with instancing support for transparent shaders
  • Optimize LightmapUVs to be stored already as Half4 to avoid runtime conversions during rendering
  • Optimize scene rendering loop performance
  • Optimize Global Surface Atlas to cache objects shader data
  • Optimize Global Surface Atlas updates distribution for subobjects (eg. foliage instances)
  • Optimize Global Surface Atlas with object draws limit per frame
  • Optimize Global Surface Atlas defragmentation with copying old atlas to avoid redrawing all objects
  • Optimize Global Surface Atlas full direct lighting redraw to copy whole emissive atlas at once
  • Optimize basic Mathf function to use more inlining
  • Optimize Mathf to use float versions of intrinsic
  • Optimize Animated Model rendering with hardware instancing
  • Optimize animated model startup to avoid double init of the bones buffer and pose
  • Optimize resizing dictionary to add new unique keys faster for primitive and int values
  • Optimize DDGI probes debug with a batched instanced draw
  • Optimize DDGI indirect lighting resolving to use depth bounds test
  • Optimize rendering when using TAA to draw PostFX directly to backbuffer
  • Optimize development-only shaders and rendering code to compile it out in Release game builds
  • Refactor BRDF roughness input to be squared
  • Refactor Temporal Anti-Aliasing shader to have less ghosting and quality scalability
  • Refactor RenderingUpscaleLocation enum item names
  • Refactor Wireframe view mode to draw wireframe on top of lit view
  • Refactor Asset events naming to match engine scheme
  • Refactor CommandLine parsing and processing
  • Refactor GeometryDrawStateData storage into RenderBufers for correct split-screen rendering
  • Refactor ISceneRenderingListener events to contain more data
  • Refactor rendering code by moving RenderContext to a separate harder file
  • Refactor Actor::Draw to use only variant with RenderContextBatch to simplify rendering code
  • Refactor NetworkMessage and NetworkStream to handle errors gracefully, including in Release builds
  • Refactor engine shaders folder to have better organization
  • Refactor OnlinePlatformXboxLive and OnlinePlatformSteam into shared FlaxEngine.Online namespace
  • Update to .NET 10
  • Update LZ4 library to v1.10
  • Update to the latest Vulkan SDK 1.4.350
  • Update Vulkan API to 1.2 on Windows
  • Update Vulkan API to 1.1 on Android
  • Update Vulkan API to 1.4 on macOS and iOS
  • Update DirectX12Agility to 1.619.3
  • Update DirectXShaderCompiler to 1.9.2602
  • Update actor LookingAt to be a more descriptive name
  • Fix deprecated flag usage when loading scenes over multiple frames
  • Fix loading SceneReference property in Visual Script
  • Fix Global Surface Atlas rasterization of objects with negative scale
  • Fix Global Surface Atlas tiles padding and position precision to have proper stability
  • Fix DDGI sampling when using non-directional lighting (eg. smoke particles or volumetric fog)
  • Fix default shadow depth bias values and control them based on shadow resolution/quality mix
  • Fix Directional Light fade at distance
  • Fix Directional Light rendering to be skipped when color alpha is zero
  • Fix Guid diff serialization and loading invalid values
  • Fix editing flag enum to properly toggle bits incl. bit masks
  • Fix missing SDK print for ones from modules or plugins
  • Fix editing array of CultureInfo values
  • Fix ForDistribution build option to not be explicitly enabled in Release builds
  • Fix various shader warnings
  • Fix UI double-click actions to work only with left mouse button
  • Fix editor fonts resolution scale on High DPI screens
  • Fix main camera by proper active cameras list ordering
  • Fix delay on virtual GPU texture upload to be immediate
  • Fix Quad Overdraw pass to skip draws from materials that don't support it
  • Fix CanvasScaler point projection when using location offset
  • Fix for flickering tree structures on expand/collapse
  • Fix Windows SDKs and Toolsets log from build tool to be sorted descending by version
  • Fix compiling project with plugins for Web
  • Fix project version control info for empty .git repo
  • Fix Global Surface Atlas sampling sub-texel error
  • Fix self-shadowing artifacts in DDGI on fast moving objects
  • Fix DDGI/SDF quality in editor view when moving static objects around
  • Fix Debug Draw shapes manual depth test when using resolution upscaling
  • Fix various rendering elements when using upscaling
  • Fix using Tools menu without Game Settings asset
  • Fix custom draw calls submission within post-process callback
  • Fix Global Surface Atlas with large worlds
  • Fix height fog density calculation with large worlds
  • Fix warnings when running on null renderer
  • Fix rendering transparent material on WebGPU without shadows
  • Fix occlusion queries on WebGPU and Vulkan
  • Fix missing network messages reading init to avoid crashes on incorrect message
  • Fix various edge-cases in network replication system to avoid crashes
  • Fix dangling replication queue items and parts after client disconnected
  • Fix saving virtual Material Instance asset
  • Fix safety of the network handshake and C# network stream
  • Fix ENet packet leak after receive event
  • Fix ENet network driver to use 3 separate channels for different packet types
  • Fix ENet network driver stats from all peers
  • Fix assertion on shader load failure
  • Fix missing Int2/Int3/Int4 in Variant support implementation parts
  • Fix Rider detection on macOS when installed in the user Applications folder
  • Fix Vulkan Tracy timestamp queries on MoltenVK
  • Fix macOS popup/tooltip windows handling
  • Fix drag&drop on X11 Linux with SDL
  • Fix mouse position in events reported from caption area on Windows
  • Fix window decoration buttons not clickable with DPI scale
  • Fix property get/set function name length in dotnet bindings
  • Fix output log history popup management to smoother usage
  • Fix MeshAccessor triangle count calculation bug
  • Fix Variant static typenames caching bug in Editor
  • Fix asset 'Reload' option to be available when asset failed to load for manual load
  • Fix asset storage handling when file is locked
  • Fix asset cache eviction for locked files to retain cached info
  • Fix reloading assets that failed to load
  • Fix dirtying scenes after building navmesh in Editor
  • Fix scene texture node with WorldPosition
  • Fix model material access with empty entries
  • Fix Web build when python is installed in folder with whitespaces in path
  • Fix building deps for Windows ARM64
  • Fix UI focus entries list when opening import files dialog
  • Fix auto-selecting newly imported or created assets in Editor
  • Fix prefab Script track IDs for Scene Animation remapping
  • Fix vertex paint brush size to match the highlight sphere
  • Fix Editor Grid jitter after TAA resolve
  • Fix ProgressBar fill with large margin
  • Fix spline editing in Large Worlds
  • Fix alternating table row coloring
  • Fix Render2D line thickness scaling
  • Fix procedural Skinned Mesh creation from code
  • Fix t-posing when Multi Blend 2D when one of the triangulated point animations is empty or loading
  • Fix timeline curve expanding to properly show whole curve area
  • Fix GUI blur panel to respect input image alpha
  • Fix Camera Space canvas rendering to properly clip viewport
  • Fix collapsed curve keyframes display bug
  • Fix mesh vertices deduplication to use relative error, not fixed value
  • Fix Large World offset bug in triplanar texture nodes
  • Fix eye adaptation to be turned off in editor asset previews
  • Fix shader error when using non-ASCII characters in material
  • Fix importing skinned models with multiple LODs
  • Fix text box highlighting not using DPI
  • Fix material drag over highlights to not flicker
  • Fix missing distortion rendering on Deformable materials
  • Fix missing treeview folder shortcuts
  • Fix project generation when configuration/platform is unsupported
  • Fix Editor toolbar to exclude project path but only name
  • Fix dynamic C# scripting features in Editor by preloading stdlib assembly
  • Fix indexed properties from displaying in Editor (throws exception)
  • Fix terrain resolution in editor
  • Fix terrain collision leftover when destroyed manually
  • Fix terrain patch add mode not picking patches in scaled terrain
  • Fix game window resize to maintain placement within screen (eg. centered)
  • Fix game window resolution when resizing during fullscreen on Windows
  • Fix game window to maintain resolution and be centered when going out the fullscreen on Windows
  • Fix window layout when changing System DPI on Windows
  • Fix infinite grid actually infinite
  • Fix mesh index buffer when using 32-bit indices
  • Fix content browser stealing focus from popup asset windows on SDL
  • Fix Wayland window not getting attached to the drag operation
  • Fix Vulkan swapchain surface to be preserved during resize
  • Fix the release of Vulkan samplers
  • Fix NodesCache desync after hot-reload in Editor
  • Fix C# std lib detection due to RepositoryUrl change
  • Fix nested prefab stack overflow when adding new object to nested prefabs hierarchy
  • Fix nested prefab stack overflow when applying changes with animated models inside hierarchy
  • Fix CSG Brush face moving bugs
  • Fix mesh collider updates after recooking collision data
  • Fix curve track right-drag panning responsiveness
  • Fix curve track resize handling
  • Fix Scene Animation preview playback controls and time comparison behavior
  • Fix scripts/content files getting deleted after file modifications
  • Fix scripting assembly file loading when file is locked
  • Fix Editor's Game window minor stability issues
  • Fix Editor windows order when restoring after scripts reload
  • Fix floating editor window ordering and focus restoration on macOS
  • Fix default value in Editor when it's null for value-type
  • Fix GUI traversal during child removal
  • Fix streaming of wide/tall textures
  • Fix discarding unsaved asset editor changes
  • Fix Roslyn analyzer include resolution
  • Fix using NuGet package with different dependencies
  • Fix Game Cooker wait on code compile/load end before cooking starts
  • Fix ParseFloat rejecting a '+' sign in the exponent
  • Fix slider control with negative minimum range value
  • Fix spawning actors in viewport to have better origin placement
  • Fix animation slot bugs and stabilize scripting playback
  • Fix BT node size when renaming decorator
  • Fix bug in BT sub tree knowledge type validation
  • Fix C# 'IsByRefLike' types that cannot be created on heap
  • Fix In/Out attribute warning in generated bindings for boolean arrays
  • Fix Multi Blend animations reversed playback when using negative speed
  • Fix missing mutex lock in Game Cooker thread
  • Fix Wayland dragging events racing with SDL data offers- #4279
  • Fix crash in scripting bindings when unboxing null class
  • Fix crash on custom Assimp logger
  • Fix crash on headless Editor game run
  • Fix crash on inactive DDGI probes on 1st frame
  • Fix crash on D3D11 init with debug when Direct3D debug layer is missing
  • Fix crash when looping BT with Force Success node
  • Fix crash when loading invalid VisjectMeta
  • Fix crash when using curves inside Anim Graph
  • Fix crash when encoding CJK characters from UTF-16 into UTF-8
  • Fix crash when GPUBuffer creation fails on D3D11
  • Fix crash when skeleton node has invalid binding in Animated Model pose
  • Fix crash StringUtils::Copy on Win32 when length is zero
  • Fix crash on D3D11 draw without valid state set
  • Fix crash on too long path on Unix
  • Fix crash when reading process output on Windows with an empty data
  • Fix crash when calling DebugCommands from async threads
  • Fix crash when using WheeledVehicle as player pawn in Arizona Framework
  • Fix crash on invalid Multi Blend 1D indices