Skip to content

Update 1.2.6222

Compare
Choose a tag to compare
@mafiesto4 mafiesto4 released this 06 Aug 07:07
· 7499 commits to master since this release

Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-2-6222/423

Changelog:

  • Add Nintendo Switch support (coming soon to registered developers)
  • Add support for separate data and code output directories in Game Cooker
  • Add initializer list support for arrays in C++ scripting
  • Add Vehicles support
  • Add error log when trying to load bytes from file data that is too big
  • Add MeshBase as shared impl part for Mesh and SkinnedMesh
  • Add support for generating Collision Data from Skinned Models
  • Add warning when using Triangle Mesh collider under RigidBody
  • Add support for masking Material Slots when cooking Collision Data
  • Add support for string constants as defaults in scripting API
  • Add Localization support and tools
  • Add support for importing .po files
  • Add LocalizedStringTable asset type
  • Add LocalizationSettings
  • Add LocalizedString
  • Add CultureInfo to C++ API
  • Add GOLDEN_RATIO constant
  • Add new editor icons
  • Add byte array deserialization from base64 encoded string
  • Add support for importing assets into custom formats with AssetsImportingManager
  • Add support for custom asset type factory in game code
  • Add support for nesting Array inside Dictionary in scripting API
  • Add support for using generic class value types in scripting API bindings code
  • Add importing .po files with strings localization
  • Add searching for localization strings in C#/C++ code
  • Add searching for localization strings in scenes and prefabs
  • Add exporting localization into .pot file for translation
  • Add CultureInfo editor with picker
  • Add undo support for Json Asset editor window
  • Add string localization API
  • Add LocalizedString support for UI
  • Add CreateSearchPopup to editor utils
  • Add LocalizedString to TextRender for localized text
  • Add support for using animated model with anim graph using different skinned model
  • Add FindClosestNode to Animated Model
  • Add Keyboard.IsAnyKeyDown
  • Add missing name some for GPU resources
  • Add Low-Level Networking
  • Add depth test for point/spot lights rendering to optimize far lights rendering
  • Add HasTypedUAVLoad to GPULimits (use for GPU lightmaps support baking detection)
  • Add DRED and optional GPU-Based Validation for D3D12
  • Add UAV slots dimensions to cache for D3D12 validation
  • Add Bokeh DoF rendering on D3D12 (works fine after fixes)
  • Add background color in collections (better readability for nested collections)
  • Add support for NotNullItems option in collections editors
  • Add support for using pointers in scripting API events
  • Add support for using references in scripting API events
  • Add Delay node to Visual Scripting
  • Add timeline position synchronization with animation playback in Editor preview
  • Add profiler Sleep event to Editor sleeping phrase when out of focus
  • Add Nameof helper utility for C++
  • Add automatic Game Settings setup after adding new settings asset for the first time
  • Add Streaming settings with texture groups configuration
  • Add support for stripping textures quality when cooking game (per-platform)
  • Add dynamic textures streaming based on visibility
  • Add support for using per-texture group sampler in Materials
  • Add GetStringAnsiView to json value
  • Add option to open all selected assets in content window
  • Add support for loading C# dictionaries in native json reader
  • Add Category attribute for types grouping in editor dialogs
  • Add texture groups preview to Graphics Quality window in editor
  • Add support for editing texture group in editor (without reimporting)
  • Add support for programmable samplers in shaders
  • Add AnimationUpdated event to Animated Model
  • Add SetCurrentPose to Animated Model
  • Add SetMasterPoseModel to Animated Model for modular characters
  • Add digit check for scripts renaming
  • Add Tracy profiler support
  • Add SceneTicking to engine API
  • Add -debugwait cmd line arg to wait for C# debugger attach on engine start
  • Add physics queries for convex meshes
  • Add editor option to customize the default location for new editor windows
  • Add automatic profiler events for C# methods invocation
  • Add automatic profiler events for Visual Script methods invocation
  • Add automatic tooltip for ComboBox based on selected item tooltip
  • Add option to hide GUI in Game Viewport
  • Add MapTrack to SceneAnimationPlayer
  • Add GPU profiler events to ProbesRenderer
  • Add helper FindScript<T> and FindActor<T> to Actor
  • Add NoUndo attribute for properties without undo usage
  • Add option to show Debug Draw shapes in Game Viewport
  • Add option to copy/paste value from Visject box via context menu
  • Add support for using library-style includes for build tool includes cache
  • Add 9-slicking support for UI to draw sprites and textures
  • Add skipping generating structure fields accessors for private fields in scripting
  • Add option to use Point sampling when drawing textures and sprites in UI via Brushes
  • Add Int16 and Uint16 scripting/serialization support for Visual Scripting
  • Add preserving package output directory across sequential package builds
  • Add -play cmd line arg for Editor to play game (optional scene id arg value to play certain level)
  • Add support for custom package output directory for engine deploy
  • Add support for custom build configurations for engine deploy
  • Add daily master branch builds as Continuous Deployment on Github Actions
  • Add more indentation to scene tree items to make it more readable
  • Add support for custom drag & drop into level/prefab viewports from custom asset items
  • Add focus to game window on play
  • Add Job System
  • Add Foliage Density Scale option to Graphics Quality Window in Editor
  • Add support for Function<> as method parameter in scripting
  • Add order for Margin properties
  • Add SceneNavigation for scene data for navigation system
  • Add Task Graph
  • Add option to use seconds for timeline/media duration
  • Add Engine::UpdateGraph for async engine/game update
  • Add async animations updating via Task Graph
  • Add async particles updating via Task Graph
  • Add support for allocator type in Dictionary
  • Add idle Sleep between frames to save CPU cycles when inactive
  • Add logging Windows build number
  • Add RingBuffer template
  • Add support for allocator type in Dictionary
  • Add Stopwatch instead of DateTime.Now for increased accuracy in Flax.Build profiling tools
  • Add keyboard shortcuts to viewpoints (numpad)
  • Add PLATFORM_THREADS_LIMIT for maximum concurrency limiting
  • Add MemoryCompare, MemoryClear and MemoryCopy for direct memory access in C#
  • Add ignoring memory allocations from profiling tools in Editor Profiler
  • Add intermediate data folder removing on build tool clean command
  • Add Actor.RotateAround
  • Add automatic namespace usings collecting when generating scripting bindings glue code for csharp
  • Add automatic slider speed for float value input fields with limits specified
  • Add Alpha Panel control
  • Add Draw Indirect support for Vulkan
  • Add GPU Particles support for Vulkan
  • Add support for rendering into 3d textures on Vulkan
  • Add support for Geometry Shaders on Vulkan
  • Add incremental actors naming when spawning them in viewport
  • Add Network impl for PS4
  • Add safety checks to material constants binding code to prevent invalid memory access
  • Add GPUContextVulkan::CopySubresource
  • Add more profiler events for performance tracking
  • Add Content.Stats for assets statistics (replaces Content.AssetCount)
  • Add Streaming.Stats for resources streaming statistics
  • Add view snapping mode to Directional Light shadows for better stability
  • Add preloading initial Editor scene to improve startup performance
  • Add support for custom background brush to Button
  • Add DebugDraw::DrawTube
  • Add Rectangle.Distance
  • Add option for preview a single mesh UVs
  • Add memory usage info to Animation details
  • Add more helper methods for batched debug shapes drawing
  • Add Physics Colliders debug view mode to display physical world shapes (solid)
  • Add UpdateSpeed to Animated Model for playback speed scaling
  • Add widgets for animation preview play/pause and speed changing
  • Add support for creating virtual Anim Graph at runtime for a single animation playback
  • Add Terrain physics collision debug drawing support
  • Add faked lighting to improve Debug Draw solid shapes rendering readability
  • Add preview panel with skinned model to the Animation window
  • Add support for rendering percentage scale with upscaling to backbuffer
  • Add culling and render mask check for models rendered via Custom Actors list
  • Add warning log in build tool when target is missing
  • Add JsonSerializer.ParseID with return value
  • Add support for bundling custom assets by GamePlugins
  • Add CustomUpscale postFx to replace upscaler with a custom script
  • Add ClosestPointPointLine for Vector3 to C#
  • Add more documentation to FlaxDocs
  • Add support for Rider 2021, use latest detected version of Rider
  • Add using the latest detected version of Rider
  • Add support for moving object with transform gizmo when mouse moves outside the viewport during usage
  • Add BoundingBox.MakeScaled
  • Add using immediate DebugDraw for animated model skeleton drawing in Editor preview
  • Add support for Vector2/3/4 and Quaternion constants for default value attribute in C# scripting api
  • Add option to show bounds of the animated model in Editor preview
  • Add option to show bounds of the model in Editor preview
  • Add support for AssetPreview to use debug drawing if needed
  • Add support for focusing on foliage instance bounds when editing it
  • Add support for focusing on model when painting its vertices
  • Add support for object reference wrappers usage in hash maps and dictionaries
  • Add serialization improvements for Int2/3/4
  • Add constructors Vector2/3/4 <=> Int2/3/4
  • Add operators for Int3/Int4
  • Add common funcs for Int2/3/4
  • Add some more splash-screen quotes
  • Add optional location for Plugin Icon to be inside plugin project root
  • Add MeshDataCache utility for async mesh data caching
  • Add buttons for play/pause/stop Animation timeline in editor window
  • Add tint to timeline navbar buttons
  • Add bone icon for Anim Graph connections with local skeleton nodes pose
  • Add support for using structures as Visual Script and Anim Graph parameters
  • Add support for object and enum properties in Anim Graph
  • Add support for disabling Vulkan timer queries per-platform via define
  • Add option to preview model meshes Normals and Tangents in Editor preview
  • Add AddForceAtPosition to Rigidbodies
  • Add full documentation tooltip to Visject new parameter type picker list
  • Add support for VisibleIf on value editors using group panel
  • Add support for importing assets into custom formats with AssetsImportingManager
  • Add strong typed This node output in Visual Script
  • Add super smooth quaternion editing in Editor UI
  • Add support int64 values in EnumComboBox
  • Add support for custom value propagation in CustomEditor
  • Add LocalLocation to UI controls
  • Add support for cooking collision data from model asset on main thread and fix issue if mesh is during streaming
  • Add support for Is Null, Is Valid, As, Is and Type Reference nodes in Anim Graph
  • Add C++ Json Asset and C++ Function Library templates
  • Add better support for control anchors editing with bounds preserving and pivot setting (Shift and Control modifier keys))
  • Add loading info text when opening scene animation window
  • Add support for reusing UIControlControlEditor and AnchorPresetsEditorPopup in Editor plugins
  • Add the namespace of a field from another module support in C# bindings code
  • Add sorting for used namespaces in bindings and include nested types checks
  • Add missing includes in headers
  • Add UI Control location editing to be relative to the Pivot point
  • Add DefaultQueryExtent to navmesh properties
  • Add option to Delete Sprite in Editor
  • Add automatic resizing for the timeline track preview values for better readability
  • Add support for Pack/Unpack Structure nodes and Enum constant in Anim Graph
  • Add support for OnSerializing, OnSerialized, OnDeserializing and OnDeserialized callbacks for C# types serialization with Json
  • Move default AllocatePages/FreePages impl from Unix to PlatformBase
  • Move JsonConverters to a separate file
  • Rename AnimationManager to Animations and expose to public
  • Reimplement Temporal AA with less ghosting and better quality
  • Improve detection of Rider installations
  • Implement DownloadDataCPU for Mesh and add result entries count
  • Improve animation preview usability for debugging
  • Improve tooltips generation for scripting types
  • Improve timeline frame labels displaying
  • Increase scroll bars size for easier usage
  • Increase items limit for Visject secondary context menu before scroll bar usage
  • Optimize building C#-only projects references
  • Optimize UI for complex timelines with many tracks
  • Optimize Vulkan Framebuffer when not using color blending
  • Optimize Profiler window update to refresh only visible tab UI
  • Optimize Profiler window UI
  • Optimize Debug Log window new entries adding (manual placement instead of full layout)
  • Optimize BoundingSphere::FromBox
  • Optimize Debug Draw for large amount of single-frame debug shapes and lines
  • Optimize Debug Draw wireframe sphere to use auto-LOD
  • Optimize Streaming service with Task Graph to use async update on a Job System
  • Optimize Vulkan shader compiler memory allocation
  • Optimize ContentStorageManager with Task Graph to use async update on a Job System
  • Optimize memory allocations in Vulkan backend
  • Optimize flushing active transform of physically simulated actors
  • Optimize physics simulation collisions pair cache
  • Optimize Foliage instances serialization by using raw json value write
  • Optimize various engine code
  • Optimize Foliage::OnFoliageTypeModelLoaded to rebuild only single foliage type clusters
  • Optimize String usage with StringView for basic file paths operations
  • Optimize C# script compile times by using Roslyn C# compiler server on Windows
  • Optimize C# method invoke in bindings via direct Mono invoke
  • Optimize managed memory allocations
  • Optimize includes in ThreadLocal.h
  • Optimize Scene Rendering (data caching and more)
  • Optimize CPU particles sorting with Radix sort
  • Optimize C# Actor.GetChildren<T>() and Actor.GetScripts<T>()
  • Optimize Animated Model bones matrices buffer update
  • Optimize scripting object data deserialization
  • Optimize Foliage with quad-tree clustering per foliage type
  • Optimize Foliage rendering with manual instanced draw calls batching
  • Optimizations in various parts of the engine
  • Optimize renderer memory allocations with RenderListAllocation (mem pooling)
  • Remove unused WindowsManager::CalcCenteredWinPos
  • Remove UI Controls from Json Asset picker dialog
  • Remove unused DictionaryInitialSize from MAssemblyOptions
  • Refactor focusing on selection logic in Editor
  • Refactor FontReference to reference type (class)
  • Refactor base types initialization to be done during API processing
  • Refactor AnimGraph to support asynchronous execution
  • Refactor CPU Particles to support asynchronous execution
  • Refactor FileSystemWatcher interface to make it simpler
  • Refactor AnimGraph debug flows to use scripting API event (faster)
  • Refactor Variant type ManagedObject serialization to be usable for Visual Scripting
  • Change default Update FPS in time settings to 60
  • Change profiler samples length to 10s at 60hz
  • Change all Flax Samples to 60 FPS
  • Change to not log computer/username in log files
  • Change CalculateTangents to false as default and calculate normals/tangents by default if missing
  • Change WindowBase to allow for better code sharing for platforms without advanced windowing
  • Update fmt to version 6.2.1 (9 May 2020)
  • Fix dummy locale on Linux
  • Fix using TextBoxBase with child controls
  • Fix format string errors assertions into soft checks
  • Fix natvis display for string views
  • Fix handling spacing in collection editors to align label in a proper way with margin
  • Fix JsonAssetProxy.IsProxyFor
  • Fix stack overflow when using recursion with nested scene animations
  • Fix escaping backslashes in generated tooltip descriptions
  • Fix build settings limits
  • Fix reparenting actors in editor to preserve world position
  • Fix bounding box calculations for Animated Models
  • Fix tooltips to be constrained by monitor bounds instead of virtual desktop or parent window bounds
  • Fix Is Null and Is Valid nodes in Visual Script to handle managed instances comparison
  • Fix crash when unloading scene that has been already unloaded
  • Fix Label text positioning when using Auto Fit
  • Fix creating reroute nodes in Visject during debugging
  • Fix missing mipIndex when clearing lightmap textures with a buffer on baking start
  • Fix error when actor from unloaded scene is selected
  • Fix showing Game Plugins in editor plugins window
  • Fix disabling VertexSnapping for 3D UI rendering
  • Fix Editor UI tree control click to handle selection update before
  • Fix camera position when changing Editor view orientation
  • Fix gizmo in top down view on Z-axis movement (and other combination of perpendicular views)
  • Fix showing context menu in Scene Tree window with scroll used
  • Fix paths in plugin projects root nodes in Content Database
  • Fix crash when importing model mesh with multiple materials but no mapping on a Geometry
  • Fix CharacterController still colliding after being disabled at runtime
  • Fix exception in Editor UI is model has invalid material slot index assigned
  • Fix gizmo stability when using single axis
  • Fix text processing with wrapping enabled if layout bounds width equals the line width
  • Fix Control.GetChildAtRecursive with overlapping controls
  • Fix crash when reading empty string from stream
  • Fix adding particle emitter to a system timeline to have full duration
  • Fix naming native threads on Linux and Android
  • Fix crash when reloading virtual asset
  • Fix false-positive of Surface node value modification
  • Fix handling invalid asset in AssetPicker instead of throwing exception
  • Fix buffer overrun crash in ForwardShadingFeature
  • Fix drawing shadows for particles that use Depth Fade node
  • Fix importing model animations curves with scaled local bone TransformBuffer
  • Fix missing operators and constructor in Pair
  • Fix asset paths to be from project rather than packages
  • Fix loading native dependencies for binary modules from other folders than engine binaries or project root
  • Fix auto-focus for dock window on right-click to prevent Game Window mouse steal when using context menu
  • Fix String::Resize to support buffer growing
  • Fix catching mouse focus in Editor play mode with game is paused
  • Fix out of bound access to RichTextBoxBase internal buffer
  • Fix POD structure check in scripting api if contains array field
  • Fix some profile event names
  • Fix crash on Font invalidate
  • Fix C# profiler events from other threads
  • Fix renaming selected actor in scene tree after creation and use editor shortcut
  • Fix minor warnings in shaders
  • Fix locale on Linux
  • Fix file dialogs from changing the working directory (on Windows)
  • Fix compilation on specific system locale configuration (build tool issue)
  • Fix synchronization for dbg symbols on Windows
  • Fix using fixed array initializers in scripting API field
  • Fix error in context menu search on fail
  • Fix ThreadLocal to use atomic operations and prevent rare race conditions
  • Fix running Flax on Windows with STD console output
  • Fix undo errors in editor on Margin property serialization
  • Fix checking paths when opening Visual Studio project items to prevent dummy files creation
  • Fix base method calls handling in scripting vtable overrides
  • Fix game plugins initialization order in Editor play mode to mock the standalone game
  • Fix checking min engine version for referenced projects too
  • Fix loading game binaries in Editor if they are still missing are recompile
  • Fix rare crash when passing array to managed world with object refs inside structures
  • Fix calling base class of overridden scripting object via vtable entry for method that has multiple parameters
  • Fix AnimatedModel bounds calculation to use skeleton bones locations
  • Fix range selection in Tree to skip invisible nodes
  • Fix deserialization of C# dictionaries for prefabs
  • Fix Script deserialization if ParentID is not specified in stream
  • Fix changing prefab root
  • Fix undo for custom serialized objects (eg. LocalizedString)
  • Fix missing asset register for new json resources
  • Fix API_AUTO_SERIALZIATION usage if base type is not serializable
  • Fix case sensitivity check for StartsWith and EndsWith in StringView
  • Fix using Delegate<> in API event
  • Fix TypeSearchPopup showing types that base type is hidden
  • Fix script template not complain about doc warnings
  • Fix tooltip attribute generation for multi line xml doc comments
  • Fix Transform Node/Bone in replace mode when transform is identity
  • Fix protected internal access modifier usage
  • Fix textbox bugs
  • Fix editor viewport input when using ScreenSpace canvas in a prefab
  • Fix ScreenSpace UICanvas prefab preview activate/deactivate
  • Fix order when pasting UI Controls
  • Fix ScreenSpace UICanvas order in Prefab preview (move back to prevent editor widgets occlusion)
  • Fix Visual Script method override node auto-size
  • Fix descriptors bindings to shaders on D3D12
  • Fix missing UAV barriers on D3D12
  • Fix GPU synchronization on D3D12
  • Fix D3D12 resource state transitions barriers
  • Fix lightmaps baking on D3D12
  • Fix using custom allocator on array field in scripting class
  • Fix UI after editing Dictionary key value
  • Fix various Editor UI icons issues to improve reliability and design
  • Fix Asset::ToString() to not depend on refs count and look simpler
  • Fix generating includes list in c++ glue code for script (non-pod and variant wrappers can produce additional includes)
  • Fix Blend Space 2D to use corrected additive blending
  • Fix texture streaming minimum mips to load for block compressed textures
  • Fix spline model visibility after enable if was disabled on start
  • Fix default value generation for numbers and enums in scripting api
  • Fix parsing doc comments in scripting api with inlined summary tag
  • Fix scripts projects opening to support async open when using Editor menu option
  • Fix using Keyboard and Mouse objects in C# scripting
  • Fix cached font usage to use proper unmanaged object validation check
  • Fix selecting multiple different UI controls in Editor
  • Fix crash due to SamplesBuffer::Add bug
  • Fix errors when changing UIControl type in prefab
  • Fix crash with too big blur strength used in Render2D
  • Fix WeakAssetReference handling asset unload
  • Fix very rare cases of deadlocks in Asset::WaitForLoaded
  • Fix terrain normal mapping issue
  • Fix using nested types in Visual Script
  • Fix crash when reimporting sprite atlas
  • Fix sprite atlas serialization after editing
  • Fix naming new sprites in Editor
  • Fix models uvs preview drawing
  • Fix synchronizing ActorTreeNode order after actor duplicate
  • Fix missing rotation parameters in capsule physics queries
  • Fix BitonicSort constant buffer size error on Vulkan due to structure padding
  • Fix structured UAV/SRV buffer usage on Vulkan
  • Fix crashes during deserialization of invalid data
  • Fix getter only properties not showing in Editor