FlaxEngine Versions Save

Flax Engine – multi-platform 3D game engine

1.2.6223

2 years ago

Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-2-6223/425

Changelog:

  • Add warnings when cooking collision with empty mesh data
  • Add CookingData for C# editor to extend the cooking process
  • Add build preset and target names to access for Game Cooker extending
  • Add option to change order of items in Content View
  • Add support for creating custom BoxVolume type in C#
  • Add creating Scene Graph nodes for actors inheriting from some shared custom types
  • Fix compiling C#-only game scripts without native platform tools installed
  • Fix editor crash on startup when Rider 2021.1 is installed
  • Fix CharacterController minimum size checks to prevent crashes if values are too small
  • Fix startup failure on older CPUs that don't support invariant TSC
  • Fix potential runtime error from locale::global
  • Fix creating prefab in Editor from selection in Prefab window
  • Fix undo for missing actor children and scripts when doing Convert action
  • Fix crash when spawning C# object that inherits from abstract C++ class
  • Fix crash when cooking collision data for multi-mesh models
  • Fix missing mesh collider vertices transformation for navmesh building
  • Fix crash on startup when 2 Rider installations are detected

1.2.6222

2 years ago

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

1.1.6218

3 years ago

Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-1-6218/339

Changelog:

  • Add overwrite prompt for SaveDialog on Windows
  • Add sweep and overlap physics queries for capsule shapes
  • Add more C++ docs and examples
  • Add improvements the random byte generation code
  • Add BoxBrush::SetMaterial
  • Add drag&drop support for Linux
  • Add UpDirection to Character Controller
  • Add automatic destination folder creation when saving Json asset
  • Add path utils to support StringView
  • Add error message box on Editor Options saving error
  • Add support for OnSerializing, OnSerialized, OnDeserializing and OnDeserialized callbacks for C# types serialization with Json
  • Add support for fixed-array fields in scripting
  • Optimize WriteStream::WriteText
  • Fix Win32 stack traces issue due to invalid search path for debug symbols
  • Fix diff serialization for C# lists
  • Fix deserialization of C# lists
  • Fix for UWP game build
  • Fix picking game binaries target when EditorTarget is not SetupTargetEnvironment
  • Fix using cross-module references inside C++ game project
  • Fix using references to projects outside the main project
  • Fix selecting spline points
  • Fix initial dock window size on high-dpi screen
  • Fix regression in adding model material slots
  • Fix Dropdown control
  • Fix duplicating spline
  • Fix AutoFocus saved in data for controls
  • Fix removing Gameplay Globals
  • Fix using AssetsCache in game code
  • Fix render layers mask usage for shadows rendering
  • Fix 3D audio placement for XAudio2 and OpenAL
  • Fix crash on relocation in BitArray
  • Fix using Sorting in C++ game code
  • Fix doc comments
  • Fix natvis for StringBuilder
  • Fix tooltips flicker
  • Fix tooltips to appear across multiple monitors making it hard to read them
  • Fix PrefabSpritesRenderer from script list
  • Fix using Camera refs
  • Fix ContainerControl.GetChildAt to iterate in reverse order to respect z order
  • Fix crash when using Actor GetScript or GetChild with invalid index
  • Fix compilation of bindings code with API_EVENT in some cases
  • Fix crash when using C# script that inherits from C++ script
  • Fix crash on bokeh in dof on d3d12 (NVidia driver issue regression)
  • Fix progress bar drawing precision and stability
  • Fix handling crash when loading scripting api bindings cache during build
  • Fix spline model geometry deformation precision issues
  • Fix DPI regression (use the overrideable RootWindow instead of _root)

1.1.6217

3 years ago

Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-1-6217/281

Changelog:

  • Add API_INTERFACE to scripting API bindings for implementing interfaces
  • Add support for loading JsonAsset instance objects if they implement ISerializable interface
  • Add NavMesh Modifier Volume actor type
  • Add NavAgentProperties
  • Add NavMeshProperties
  • Add NavAreaProperties
  • Add NavAgentMask
  • Add support for multiple navmeshes on a scene
  • Add navmesh name to logs for better debugging
  • Add support for masking navmesh agents in NavMeshBoundsVolume
  • Add support for automatic DefaultValue attributes generation for fields in scripting API
  • Add support for rotated navmeshes
  • Add support for dynamic updating navmesh when moving NavModifierVolume
  • Add TestPath utility to navigation system
  • Add default spacing for CollectionEditor to 10 for cleaner UI when working with arrays and lists in Editor
  • Add invoking BoxVolume::OnBoundsChanged after transform changed
  • Add default values initialization for structures and new array entries when resizing
  • Add ScriptingTypeHandle debugger view to flax.natvis
  • Add more objects types checks and casting utilities to ScriptingObject
  • Add support for using ObsoleteAttribute to upgrade old C# asset/script data format after refactor
  • Add Actor.HasStaticFlag
  • Add option to hide navmesh in editor debug view
  • Add low-level networking (cross-platform sockets implementation)
  • Add culling for decals (via DrawMinScreenSize property)
  • Add scripting API events in Visual Script
  • Add support for Events in Scripting API reflection in Editor
  • Add IFunctionDependantNode for Visject nodes
  • Add Spline actor
  • Add Spline Model actor (draws model over spline)
  • Add Spline Collider actor (creates collision over spline)
  • Add Spline Rope Body actor for ropes, chains and cables physics
  • Add Deformable material domain (for spline models)
  • Add default Deformable material for splines
  • Add auto-select for spawned actors in the level
  • Add Add/Subtract methods to Transform
  • Add support for copy/paste/rever values for groups in Custom Editor (eg. array editor)
  • Add Transform.LocalToWorldVector and Transform.WorldToLocalVector
  • Add first derivative calculation utilities for Curve
  • Add Build Actions option to editor settings for build button configuration
  • Add DebugDraw.DrawWireTriangles for wireframe geometry debug drawing
  • Add SoftObjectReference for lazy references to assets and objects
  • Add support for custom defines for build system via Flax.Build command line
  • Add support for custom SceneGraphNode to handle delete with undo
  • Add support for custom duplicate of SceneGraphNode
  • Add support for using other VC++ toolset for Window and add cmd arg for selecting compiler manually
  • Add an info group for selected Rigidbody in play mode (display speed, velocity, angular velocity, etc.)
  • Add support for mapping objects in SceneAnimationPlayer to reuse it for different objects
  • Add support for copy/pasting script properties
  • Add more utilities to SceneReference
  • Add more utilities to LayersMask
  • Add Volumetric Fog particles to modify local fog
  • Add skipping textbox scrolling if it has no selection
  • Add WriteJsonDiff support for JsonConverter for custom object diff serialization
  • Add more documentation comments improvements
  • Add F to focus camera view in asset previews
  • Add WorldSpaceFaceCamera mode to UICanvas
  • Add mouse centering in Editor Viewport if initial location is too close to the edge
  • Add separation in ContainerControl for Self/Children drawing code
  • Add ContainerControl as a base for Common GUI controls (Border, Button, ProgressBar, TextBox)
  • Add UICanvas culling (for 3D rendering)
  • Add support for spawning Collision Data as Mesh Collider in viewport drag&drop
  • Add improvements for objects spawning in editor viewport
  • Add support for debug shapes preview in prefab editor window
  • Add support for viewport icons rendering in prefab editor window
  • Add Add mesh collider option to Static Model context menu
  • Add reusing created collision data for model when UI requests it
  • Add layers and tags updating
  • Add support for borderless window style on Windows that supports system docking and aero shadow
  • Add editor window outline color to match the status bar color
  • Add more features for platform impl on Linux
  • Add more support for window system features in Linux (X11)
  • Add support for C++ scripting on platforms that don't support referencing executable file when linking shared library (eg. Linux)
  • Add support for C++ scripting on Linux
  • Add support for Clang 8, 9 and 10 when building for Linux
  • Add clipboard support on Linux
  • Add support for resizing textures with stb in TextureTool
  • Add support for importing textures with options in TextureTool with stb
  • Add separate Platform::GetStackTrace and Platform::GetStackFrames
  • Add support for capturing stack trace of called DebugLog from C++
  • Add newest dbghelp.dll lib
  • Add support for using Level.SpawnActor to add scene from code
  • Add integration with Rider IDE
  • Add FindRandomPoint and FindRandomPointAroundCircle to the navigation utilities
  • Add BoundingSphere::Transform method
  • Add support for accessing Game Settings and related assets in C# API in game build
  • Add Absolute and Negative to Vector3 C# API
  • Add Sprite Render actor for sprites drawing
  • Add Render Layers to Camera and Render View for masking objects during rendering
  • Add DebugDraw::DrawText for drawing 2D debug text on a screen
  • Add DebugDraw::DrawText for drawing 3D debug text in the world
  • Add support for updating particle effects in editor view when editing
  • Add Mask ZW node to all Visject surfaces
  • Add Particle Radius to in-built particle attributes
  • Add EditorScene for using gameplay logic in editor preview windows
  • Add support for audio clip playback preview in editor window
  • Add SceneGraphNode.OnContextMenu for customizations
  • Add profiler events to LocalExecutor thread workers in Flax.Build
  • Add -shaderdebug cmd line switch to Editor for shaders debugging
  • Add support for mutable keyword on API_FIELD
  • Add support for caching scripting API bindings during build
  • Add MaxConcurrency and ConcurrencyProcessorScale options for Flax.Build cmd line
  • Add SceneRenderTask.PreRender
  • Add check for C++ bindings generator for property getter and setter method value types to match
  • Add virtual to Camera GetMatrices for custom cameras
  • Add support for parsing exponential (scientific) notation numbers in input fields
  • Add Any node to material
  • Add All node to material
  • Add Sign node to material
  • Add Blackbody node to material
  • Add bringing editor window to front on focus
  • Add safety checks for particles data to prevent division by 0
  • Add support for UICanvas preview in Prefab Viewport
  • Add UIControl outlines drawing in Prefab window
  • Add virtual memory allocation utilities
  • Add exception instead of crash when using DebugDraw.DrawLines with uneven amount of lines
  • Add FLAXENGINE_API macro to class JsonAsset
  • Add Level.GetActors and Level.GetScripts
  • Add some defaults to Quaternion helpers
  • Add and refactor several extension methods for Random
  • Add Render2D.DrawTexturedTriangles, Render2D.FillTriangles and Render2D.FillTriangle
  • Add ScriptingTypeHandle debugger view to flax.natvis
  • Add Convert feature for actors in Editor scene tree context menu
  • Add RGB & HSV conversion nodes to material graph
  • Add more separators to TextBoxBase
  • Add allowance for overriding most of the methods in TextBoxBase
  • Add auto serialization by default in C++ script template
  • Add optional icons to DockWindows
  • Add icon for Content window
  • Add icon for Debug Log window (based on last unseen logs severity)
  • Add WarningOnce, ErrorOnce, InfoOnce, VerboseOnce to Flax.Build logger
  • Add colored icons for Debug Log entries (and adjusted entry height)
  • Add Render2D tint color layering support
  • Add reroute nodes to Visject
  • Add arrow key navigation to Visject
  • Add support for binary modules with native-code only
  • Add improved dll import/export attributes injection when building binary modules
  • Add support for using ThirdPartyModule in game/project scripting
  • Add StringBuilder::ToStringView()
  • Add write barriers for Mono GC in bindings glue code
  • Add support for overriding most of the methods in TextBoxBase
  • Add ClampLength to Vector2/3/4
  • Add StringUtils::ConvertUTF162UTF8
  • Add support for using automated codesign for binaries in deployment
  • Add passing custom compiler switch when invoking child Flax.Build process during deployment
  • Add DrawCylinder and DrawWireCylinder to DebugDraw
  • Add Shift+Home shortcut to Text Boxes
  • Add support for vertical and horizontal panels to arrange children based on the child anchor
  • Add per-monitor/per-window DPI support
  • Add new UI Control transform editor
  • Add more descriptive "no scene" message
  • Add automatic rename to UIControl
  • Add constructor to BoundingBox for single point empty box construction
  • Add Mouse Wheel Sensitivity option to Editor
  • Add selecting prefab root objects first in Editor
  • Add error check to prevent changing parent of the Scene actor
  • Add focus on acto with F key in editor viewport (improvements)
  • Add better support for orthographic projection in Editor viewport controls
  • Add option to order script fields/properties in Editor UI based on declaration order (Editor option)
  • Add splash screen quote
  • Add support for Custom Defines in Game Cooker for build scripts configuration
  • Add support for custom defines for build system via Flax.Build command line
  • Optimize and improve ActorChildNodes handling
  • Optimize build tool
  • Optimize MAssembly::GetClass(MonoClass* monoClass) search via assembly image early out
  • Optimize automatic navmesh rebuild in editor for navmesh relevant actors only
  • Optimize Serialization.h to have separate SerializationFwd.h for more lightweight types serialization impl
  • Optimize DebugLog stack trace formatting
  • Optimize Texture::DownloadData for staging textures
  • Optimize Blend Normal Node
  • Optimize compilation time on Windows
  • Optimize scripting API bindings generation if loaded API from valid cache
  • Optimize DrawCall to pack indirect draw arg and graphics draw data with union
  • Refactor navigation system to support multiple navmeshes with more options and API
  • Refactored lots of logic in UI to fix various reported issues (eg. vertical and horizontal panels usage has been improved a lot and might behave different than it used to be)
  • Refactor game settings to support using API bindings
  • Refactor PhysicalMaterial to use API bindings
  • Refactor draw calls and instancing logic to be more modular
  • Refactor material shaders generator to use modular features as extensions
  • Refactor Collider base class to improve code sharing across collider shape types
  • Move Curve data serialization to binary format into CurveSerialization.h
  • Move ScreenToGameViewport from Engine to Screen (update doc comments)
  • Remove Unlink from asset reference
  • Remove deprecated and unused ISceneObject and ITransformable
  • Improve tokens preprocessor for scripting API headers
  • Improve Visual Studio Code solution generation for C# projects
  • Cleanup and optimize StringUtils::ConvertUTF82UTF16
  • Move Actor static flags helper methods to be manually implemented (less bindings)
  • Update stb lib
  • Update Recast navigation lib to e75adf86f91eb3082220085e42dda62679f9a3ea
  • Fixes for UI control sync
  • Fixes for Editor layout element containers
  • Fixes for scripting objects
  • Fix and code cleanup for Flax Storage types
  • Fix PathRemoveRelativeParts for rooted paths
  • Fix C# assembly Guids to use cross-platform hashing for stable values
  • Fix collecting binary modules for targets with Modular linkage
  • Fix Debug Log stack trace collecting in Editor
  • Fix importing models with custom UnitScaleFactor
  • Fix crash on exit when loading storage file fails
  • Fix some minor issues with materials previews in Editor
  • Fix debug shapes leftovers update in editor after playmode
  • Fix using Scripts in async
  • Fix crash on close when using Vulkan/D3D12 rendering backend with async task being canceled
  • Fix material Sphere Mask node if radius is specified as integer
  • Fix sampling particle position/velocity in material for emitters simulated in Local space
  • Fix placement and usage of the new instance creation button in GenericEditor
  • Fix MAssembly::GetClass(MonoClass* monoClass) for generic classes
  • Fix loading game assets in cooked build via path relative to the project folder
  • Fix particles view information in Editor when Game window is unused
  • Fix findRandomPointAroundCircle in Detour lib to return points inside circle
  • Fix adding items in Array/List editors if element type is reference (eg. class)
  • Fix Color struct doc comments
  • Fix not using hardcoded order for showing Actor main properties in editor
  • Fix loaded asset verification error for json assets that have the scripting type
  • Fix crash when using Physical Material with missing instance
  • Fix default field value parsing to skip whitespaces
  • Fix crash on GPUDeviceVulkan dispose if compute queue was using graphics queue
  • Fix using dynamic libraries resolving path on Linux
  • Fix some editor UI controls visible in Visual Scripting
  • Fix MAssembly classes dictionary cache allocation to be during assembly load
  • Fix Dictionary to call ctor/dtor for Buckets when needed
  • Fix right-click context menu for Visject Nodes
  • Fix crash when using Find/FindLast on empty String
  • Fix calling OnParentChanged in Actor load
  • Fix compilation warnings
  • Fix showing shader source code window over a calling window
  • Fix Quaternion comparison epsilon to reduce error rate
  • Fix using Bezier curve for Transform (Scale tangents issue)
  • Fix for serialization problems with custom structures
  • Fix using nested types in scripting API
  • Fix navmesh tiles set resizing issue
  • Fix saving assets with path containing invalid slashes
  • Fix Vertical/Horizontal panels issue with anchored child controls
  • Fix updating Label layout after font change when using automatic size
  • Fix scripting reload without scenes loaded
  • Fix UI not being updated with particular panels used when changing child control anchors
  • Fix Scene Queries to lock scene access
  • Fix DebugDraw DrawTriangles crash
  • Fix PhysX header usage in public API
  • Fix missing UICanvas linkage in prefab preview
  • Fix skipping UICanvas diff serialization for Size property if render mode is ScreenSpace
  • Fix UIControl location deserialization when using prefabs and anchors
  • Fix control Offsets margin diff deserialziation
  • Fix possible issue for prefab reference value for default value object that might be deleted on prefab apply
  • Fix editor viewport camera orbiting issues
  • Fix missing selection type in CustomEditorPresenter
  • Fix assertion on engine close due to rare invalid storage object refs count
  • Fix using scale mode Gizmo
  • Fix Rename Popup direction near screen edges
  • Fix exception in Custom Editors UI due to invalid reference value processing
  • Fix updating UICanvas when using World/Camera Space
  • Fix control Offsets updating for control bounds when changing anchors
  • Fix bug with Vector Parameters in Animation Graph
  • Fix crash on Actor deserialization if parentId is missing but actor already has a parent
  • Fix synchronizing ActiveInTreeChanged property with event after prefab changes apply
  • Fix crash during Mono GC when object has missing vtable
  • Fix painting foliage on inactive objects
  • Fix InputText length reset
  • Fix scaling rotated objects in world space
  • Fix HorizontalPanel children layout
  • Fix HorizontalPanel and VerticalPanel auto-sizing if child control is using anchors
  • Fix conversion to degrees in Vector3.Angle
  • Fix drawing UI Control outline in Game Window
  • Fix BlurPanel rendering
  • Fix error on starting task to continue if it has been canceled
  • Fix font character and hit location calculations with line spacing
  • Fix tooltips generation for native properties to reflect getter and setter docs
  • Fix crash when changing prefab root object
  • Fix issue of deleting non-existent folders from the editor
  • Fix FindActor and FindScript in Level
  • Fix properties names formatting for UI with 2 character words
  • Fix some prefabs editing issues
  • Fix code style in C# code
  • Fix using get_Control getter method from UIControl in Visual Script
  • Fix error when spawning prefab with rigidbody
  • Fix layer matrix order in ediotr UI
  • Fix double-click mouse event not setting mouse button down
  • Fix default frame rate for fbx imported clips to 14
  • Fix Graphics module warnings to be sent once
  • Fix updating prefab object reference values after apply in prefab editor
  • Fix updating UI layout when adding control
  • Fix Editor timeline editor controls API visible in Visual Scripting
  • Fix using value sliders when on secondary monitor that is one the left side of the primary monitor (virtual desktop)
  • Fix UWP build setup messing with FlaxGame target output type
  • Fix automatic tooltip generation error
  • Fix tooltip background when using custom theme colors in Editor
  • Fix tree nodes mouse hovering logic
  • Fix crash in motion blur code when screen size is very small
  • Fix rare crashes due to rgctx trampolines cache not cleared on assembly reload
  • Fix auto-importing materials and textures from model file with invalid path characters used in name
  • Fix crash when loading string property in json that is not a string
  • Fix missing terrain bounds update after modifying terrain
  • Fix updating input fields on editing end without changes
  • Fix missing CharacterController bounds if controller is missing
  • Fix MaterialParams sync bug
  • Fix CSG build crash
  • Fix TextBox caret and selection size with custom DPI
  • Fix Label auto-height and auto-width when text overflows the lines and it's wrapped
  • Fix text not getting clipped in Label with negative margin
  • Fix UTF-8 and UTF-16 encoding support usage in Json resources
  • Fix deserialization of UTF-8 string for C# object properties
  • Fix mouse jittering when pressing both mouse buttons simultaneously
  • Fix editor dock panel to always focus tab on click
  • Fix UIControl invalid showing in prefab window using nested prefab with UI
  • Fix crash for empty text in Text Render
  • Fix possible exception in actor editor bounds getters
  • Fix memory leak for Mono image refs
  • Fix various memory leaks on exit
  • Fix ParticleSystemWindow overlapping text bug
  • Fix invalid Timeline layout UI when opening timeline data
  • Fix crash on prefab sync on instance with missing objects
  • Fix Label text alignment in auto size text
  • Fix synchronizing nested prefabs when adding new ObjectsLookupIdMapping
  • Fix actor layer editor setup
  • Fix UICanvas state synchronization when working with prefabs
  • Fix fullscreen mode on D3D11 and D3D12
  • Fix crash in navmesh builder when scene gets unloaded after navmesh tile gets dirty
  • Fix preserving objects order in prefab instances on apply (based on the prefab)
  • Fix updating UI layout after changing control order
  • Fix crash on using Space char in font with no font atlases initialized
  • Fix IncrementNameNumber in Editor for Unicode strings (wrong inversing method)
  • Fix marking asset as edited when using Multi Blend node positions in Anim Graph
  • Fix crash when calling navigation system before navmesh init (eg. in build)
  • Fix exception when loading Android NDKs with invalid version folder
  • Fix AssetPicker buttons usage without mouse down click over the control
  • Fix low-level WindowsPlatform::Log to not print invalid characters
  • Fix VS debugger config for Dictionary and HashSet to show only Occupied buckets
  • Fix ResizeAuto in SurfaceNode to include custom controls
  • Fix C# assemblies id generation to use cross-platform hash code impl
  • Fix exposing Mono API when using dynamic linking

1.0.6216

3 years ago

Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-0-6216/207

Changelog:

  • Add using additional temporary temp param in scripting bindings glue code for array parameters using BytesContainer
  • Add Orientation to editor view menu
  • Add golden ratio constant
  • Add Github Actions usage for CI
  • Add executable flag for scripts
  • Add more splash screen quotes
  • Add Remap node to all graphs
  • Add contribution guidelines
  • Add Mesh::UpdateMesh methods similar to C# API
  • Add material node to mix Normal Maps
  • Add option to Invert Panning in editor viewport
  • Add Sphere Mask node to materials
  • Add docs about the clockwise order of the indices in mesh triangles
  • Add Battery information API
  • Add option to format Visject nodes
  • Add rotator node for materials
  • Add DDX/DDY nodes for materials
  • Add modern file dialog for browsing folders on Windows
  • Add inline for float16 compression and add code reference note
  • Add missing FLAXENGINE_API expose macro to engine math types
  • Add more utilities to Collisions Helper
  • Split VectorInt.h into separate files for Int2, Int3 and Int4
  • Improve Visject Surface connections dragging
  • Improve build times in development configuration
  • Improve Variant typename loading if length is zero
  • Fix BlurPanel crashes due to slider for BlurStrength
  • Fix Editor windows position (on startup) for multi screens
  • Fix missing public empty constructor for UICanvas
  • Fix typos
  • Fix error when opening Anim Graph with node name not existing in skeleton anymore
  • Fix plane model normals
  • Fix Visual Script invoke method node signature check for output params passed by reference
  • Fix Unsigned Integer value field to prevent negative values
  • Fix missing focus for SliderControl
  • Fix open file dialog on Windows
  • Fix Visject Node layout when adding boxes from code
  • Fix missing animated model parameter error
  • Fix to disable terrain and foliage buttons if no scene is present
  • Fix a ton of typos
  • Fix CTRL+W issue in play mode in game view in Editor
  • Fix tracking mouse offset on high DPI screens
  • Fix scene animation rendering issue with game window is not selected tab
  • Fix crash in motion blur tile size calculation
  • Fix plane model incorrect rotation in material preview
  • Fix assertion during engine shutdown after crash during rendering
  • Fix crash when using Byte, Int16 or UInt16 as VS parameters
  • Fix loading VariantType.Blob
  • Fix crash when creating Empty particle emitter
  • Fix exporting textures in format R10G10B10A2 and R11G11B10 on Windows
  • Fix foot offset in Character Controller
  • Fix viewport zooming issues
  • Fix crash when applying changes to prefab
  • Fix ResizeAuto in SurfaceNode to include custom controls
  • Fix Get Node Transform size and missing output signal box
  • Fix crash on Android if GPU doesn't support linear sampling of the shadow map
  • Fix crash when resizing existing MaterialSlots collection for model
  • Fix padding in Editor info dialog
  • Fix error when animated model skeleton has duplicated node name
  • Fix crash when reloading scripts with opened custom json asset
  • Fix the crash when slope limit was set to 90 degrees (on Character Controller)
  • Fix fade distance node in materials

1.0.6215

3 years ago

Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-0-6215/147

Changelog:

  • Add support for Visual Studio Code Insiders
  • Add logging offset for Json parsing errors
  • Add IconsScale to editor interface options
  • Add additional check for twice plugin initialization in case of error
  • Add support for hexadecimal values in editor value fields
  • Add support for using unsigned integer input fields in Visject Surface editor
  • Add IgnoreMissingDocumentationWarnings option into generated csproj files
  • Add Generate collision data from Model context menu
  • Add returning focus to the previous control when closing a context menu
  • Add support for active logging of the process output on Windows
  • Remove TAA rendering implementation
  • Reimplement Motion Blur
  • Remove deprecated and unused OpenGL graphics backend
  • Change maximum window size to 4096
  • Update DirectXShaderCompiler to 1.6
  • Fix null character at shader sources at during game cooking
  • Fix using AssetRefEditor for editing asset reference on Guid property
  • Fix PlatformSettings typedef on Android
  • Fix PCF shadow uvs vector trunc warning
  • Fix Editor title bar on High DPI
  • Fix compiler errors with Vulkan 1.2
  • Fix crash on scripting reload when using Anim Graph with custom nodes
  • Fix context menu positioning for child menus when flipping the direction over Y axis
  • Fix editing overridden particle emitter parameter in particle system window
  • Fix editor viewport camera glitch on first frame when using camera orbiting
  • Fix flashing tooltips
  • Fix GamePlugin only used in PlayMode/Cooked game
  • Fix undo redo flags in play mode
  • Fix preserving Editor undo actions during play mode
  • Fix link to Github issues page
  • Fix build scenes toolstrip button enabled state
  • Fix inverted Y Gizmo Rotation
  • Fix Editor features usage enable when no scene is loaded
  • Fix crash when in ScriptingObject::ToString() when class is missing
  • Fix more dpi issues
  • Fix shortcuts (F5, F6, F11) in play mode in editor
  • Fix removing namespace from nodes in imported model files
  • Fix GPU timer query detected warning to be single-time
  • Fix speed change scrolling being wonky
  • Fix preventing loading 'null' style in Editor
  • Fix C# methods lookup for method signatures with output structure parameter passed as reference
  • Fix DockHintWindow drag offset if it was invalid when initializing on initial mouse click
  • Fix comparing String with StringView
  • Fix logging process output on Windows
  • Fix using unsigned integer properties in Visual Script editor
  • Fix Length node in Visual Script
  • Fix renaming files to same name with different case
  • Fix double extensions when user specifies one during asset creation
  • Fix wrong engine path with RegisterEngine script as admin
  • Fix error when running Flax dev scripts without Nuget installed (or in different location)

1.0.6214

3 years ago

Flax 1.0 update with lots of tasty features such as Full Source Code release, Visual Scripting, Android support, Vertex Painting, Contact Shadows. More here: https://flaxengine.com/blog/flax-1-0-released/