Flax Engine – multi-platform 3D game engine
OTHER License
Bot releases are visible (Hide)
Blog post: https://flaxengine.com/blog/flax-1-8-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_8/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-8-6510/1646
Changelog:
ColorTrackBall
IsValidIndex
to ArrayCreate parent for selected actors
context menu buttonUIControl
ActorMinCount
and MaxCount
to Collection
attributeMaterial
to RayCastHit
for surface detection logicJsonAsset
V
key pressed)fbx
fileMarshalAs
in scripting types* Add script
button on ActorScriptingEnum::ToStringFlags
for printing flag enums into readable textSnapToGrid
to vectorsNextUnitCircleVector2
extension methodDrawAxisFromDirection
and DrawRay
with Ray
structure for Debug DrawActor.GetPrefabRoot()
activeOnly
parameter to Level::GetActors
MoveFileToRecycleBin
on LinuxNavCrowd::RemoveAgent
usageAnimationRootMotionFlags
to configure root motion component extraction
RootMotionMode
to support extracting root motion from animated skeleton pose center of mass
BehaviorTreeKnowledgeBooleanDecorator
LocalizedString
value in Scene AnimationUI Widget
to new asset creation for quick UI setupInputAxis
and InputEvent
integration with stdlib featuresStopwatch
for accurate duration measuringOutputName
to Build Settings for game output exe/package renaming
VisibleIf
attributesStart Time
option for Audio Source actorReplicationFPS < 0
for manual-only replicationMatrix
decomposition to use Matrix3x3
for rotationdotnet
fork to the latest .NET 8.0.1
ThreadLocal
when running on hardware with more cores than PLATFORM_THREADS_LIMIT
Visible
properties rather than unlinked from parentPhysicsColliderActor
classPhysicalMaterial
usage to utilize JsonAssetReference
structJsonSerializer
instead of deprecated BinaryFormatter
SaveTime
/LoadTime
from Scene
Navigation.ProjectPoint
into Navigation.FindClosestPoint
to have consistent API naming1
unlink
usag on Unix systems to properly use returned valueVariant
structure if input value is a scalarFileSystem::CopyDirectory
not failing when source folder is missingHeaderAttribute
usage with default valuesCameraNearPlaneValue
getting overwrittenDropdown
panel to scale correctly ContextMenu
short keys as needed to accommodate for scrollbar when visibleAlwaysShowScrollbars
to update visibility state of the scroll bars4096
ddx
/ddy
in material vertex shaderNextUnitVector2
to properly produce a vector within a unit circleTransform
diff serialization to properly handle prefab changes to a single component of transformMarshalAs
usedContent::GetAssetInfo
NetworkConfig::NetworkDriver
fieldNetworkReplicator::RemoveObject
Game.Build.cs
when git plugin pullingAddMovement
when using locked axisif
and writing else if
firstJsonAsset::GetInstance
to properly check base classDateTime::GetDate
calculationsrpath
on Linux to handle plugins libraries loading in Editorchar16
BehaviorKnowledgeSelectorAny
from json objectCanvasScaler
Revert to Default
option when property is marked as ReadOnly
Mono.Cecil
error in NetworkingPlugin
when using external librariesPhysicsScene
change not working in physics actorsStaticModel::GetMaterial
when model is not loaded or has invalid entries countVariant
NetworkReplicated
attribute on derived generic classGPUTextureDescription
Published by mafiesto4 10 months ago
Blog post: https://flaxengine.com/blog/flax-1-7-2-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_7/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-7-6407-2/1533
Changelog:
Loop
decoratorModelPrefab
to imported model prefab for reimporting functionalityHalf
to Vector2
/Vector4
Where
, Select
and RemoveAll
to ArrayExtensions
SloppyOptimization
disabledby default and lower default LOD Target Error
value for model auto-LODScaleWithResolution
defaults in Canvas ScalerAsync
to anim events (false
by default) to delay events execution into main thread and prevent multi-threading issues by defaultPixelFormatExtensions::ComputeBlockSize
meshoptimizer
to v0.20
ImportedModelData
with ModelData
for model importingINetworkDriver::PopEvent
to use network event as output parameter rather than raw pointerModelTool
not the importer code itselfobjectsCache
to be explicitly SceneObject
valuesNetworkManager
when network peer returns invalid event type__cplusplus
macro on MSVC and add logging C++ version used during compilationMissingScript
to be added only when object type exists (skip for prefab instances)Variant
to managed runtimeSwap
for non-copyable types-new
if it already existsOnDestroy
when removing actors or scripts from the scene.dds
files as-is
if the compressed image is too small for the engine (block size validation)git
process end properlyTag
comparison functionAsset.WaitForLoaded
when loading task hangs in the loading queue for a main thread syncPublished by mafiesto4 11 months ago
Blog post: https://flaxengine.com/blog/flax-1-7-1-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_7/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-7-6406-1/1482
Changelog:
HashSet
and Dictionary
collection typesCustomScenes
feature to draw a fixed set of scenes within SceneRenderTask
SortScore
to Visject node archetypes and use it to favor method overrides in Visual ScriptMaximumSize
is set to zeroViewLayersMask
from camera when rendering UI CanvasCalculateBoneOffsetMatrices
option to fix some animated model skeletons renderingGetRotationFromTo
and FindBetween
utilities to C# Quaternion
APIGetSplineSegmentLength
to get spline segment lengthRectangle Mask
, FWidth
, and AA Step
Sphere Mask
node to create blob gradient around UV centerSetNodeTransform
to Animated Model7
as forced to be used during game cooking (dotnet8 can be sued with Editor)Style
property getter to FontAsset
to access its style flagsXDG_DATA_HOME
env var usage the approved default as per specification on LinuxGetStackFrames
and IsDebuggerPresent
on LinuxGetStackFrames
on Android-dotnet=ver
command arg to Flax.Build
to specify .NET SDK version to use for buildControl.UpdateTransform
for faster UI math0.10
Delegate
refactor to use single memory allocation and atomic operations for data accessSHADOW_MAPS_FORMAT
and support fallback formats for shadow mapsQuaternion
and Transform
LargeWorlds::ChunkSize
to 8192
GPUResourceProperty
to cleanup codeContactOffset
for Collider
to be 2
(keep 10
for CharacterController
)HashSet
and Dictionary
collections capacity to handle rehashing when too many elements were deletedDeepClone()
when used on object of different runtime typeContentContextMenu
if the class is missing empty constructorCollectionEditor
to properly support editing multiple arraysNetworkTransform
to properly reject local simulation deltas on incoming authoritative transform dataBitArray::SetAll()
when the item is not multiple of 8
FlaxEngine.Json
dynamic type resolutionActor::FindScript
Float3
and other inbuilt Variant
types via Unpack node in Visual Scriptsteam_appid.txt
file (Steam Online Platform)Win32CriticalSection
to use spin count of 4000
instead of just 100
int32
maximum value limitScriptingEvents::EventsTable
BehaviorKnowledgeSelector
value in C# when type doesn't match exactlyPublished by mafiesto4 12 months ago
Blog post: https://flaxengine.com/blog/flax-1-7-released/
Release notes: https://docs.flaxengine.com/manual/release-notes/1_7/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-7-6404/1425
Changelog:
MeshReference
to ModelInstanceActor
for easy mesh referencing and its data access interfaceMeshDeformation
utility for generic meshes vertices morphing (eg. via Blend Shapes or Cloth)NvCloth
dependencyDelegate
NavMeshRuntime
to scripting apiMoveTowards
to Vector3GPUPipelineState
GPUContext::SetStencilRef
to stencil reference valueDebugDraw::DrawLine
with separate start/end colorsRenderTools::CalculateTangentFrame
utilityReadOnly
to CustomEditorPresenter
Variant::AsStructure()
to comparision operator between VariantType
and ScriptingTypeHandle
SerializableScriptingObject
for easier serialization of scripting objects in gameplay or contentIPresenterOwner
to editor Custom Editor for more context and advanced interactionsGroupArchetype
to Visject nodes spawn query checkSealedNodes
feature to Visject Surface nodesSurfaceNodeActions
for more contextual surface nodes scriptingOnPasted
to Visject Surface nodes for custom post-paste logicAI
module to engineBehaviorKnowledgeSelector
for Behavior Knowledge unified data accessGetDebugInfo
to BT nodes for debuggingHasDepthClip
to GPU Device limitsforeach
loop support to Span
typeAlt
key pressed to expand/collapse all actors in hierarchyIsDebuggerPresent
for macOS and iOS platformsGetHash
to Vector typesRevision
number in projects versionSpacebar
to toggle play/pause in Audio Clip windowShift + Scroll
SubAssetFolder
to model import option to redirect auto-imported materials and textures locationView Layers
options and Reset/Disable/Copy/Paste buttons editor viewport optionsRenderFlags
and RenderView
to Camera
actor propertiesSource
folder)Show in Finder
on macOS in EditorCollisionDataWindow
Screen
classSmoothDamp
for Vector2
and Vector3
BaseLinesGapScale
configurable for Label
CheckBox
, Button
, Dropdown
and DropPanel
controlsAssimp
importerInputEvent
and AxisChanged
event to InputAxis
SelectionChanged
public event for VisjectSurface
and properly invoke it only when selection actually changesCompilerGeneratedAttribute
in EditorScriptingType
to msvc natvisGetColliders
utility to RigidBody
CustomValueContainer
as readonly if setter action is null
MarshalAs
tag to API structs/classes for custom marshaling via implicit castinginternal
access level to Scripting API members (field, properties and functions)ManagedBinaryModule
fields APIRandom::RandRange
Cook&Run
button, Play in Editor actions, and customizable number of players settingShift+F
)AssetReferenceAttribute
NetworkReplicator::ResolveForeignObject
Object::DeleteObjectNow
as Object.DestroyNow
in scriptingModelInstanceActor::GetMaterial
to get actual material used to render certain entriesModelInstanceActor::GetMaterialSlots
params
tag to API_PARAM
for C# variadic parameters supportFlax.Build
sealed
tag to virtual functions in API bindings to block inheritance in C#/VSHasBorder
option to Button
control.DS_Store
files in Content on macOSFileSystemWatcher
for macOS to track file changes in EditorIBrush
to null for default functionality in EditorMethod
and Origin
to ProgressBar
for custom progress drawingInputEvent
and InputAxis
editors with pickersInputEvent
for UICanvas
navigation actionsWheeledVehicle
wheels config at runtime without full physics state rebuildWheeledVehicle
engine/differential config at runtime without full physics state rebuildDebugDraw::DrawRay
functionWindowBase::Resized
delegateParticle Scale
getter node to Particle Emitter graphPCM
(GJK-based distance collision detection system) to PhysXSolverType
and BroadPhaseType
to Physics Settings for simulation configurationObjectRadius
to DrawCall
to properly cull local lights and env probes in Forward Shadinghostfxr
error messages when failed to setup .NET runtimexdg-open
to open file manager on Linuxandroid_native_app_glue.h
to be included in engine packageUnwindRadians
and UnwindDegrees
from C# math libMClass::GetMethod
method iterationUnboxValue
performance, safety and memory usageMakeArrayType
results in native interop methodsManagedDictionary
types and helper methodsDelegate
to use mutex and hash table over atomic operations for events bindingPhysX
collision event handling and onContact
callbackCultureInfoEditor
and TagEditor
performance when searching entries by textScriptingObject
managed initialization and marshallingrecastnavigation
lib to 1.6
pugixml
changes to pugixml_extra
Debug
to be staticInput.ActionTriggered
event to pass aditionall InputActionState
value0
(in Flax Samples)Release
build modeGPUPipelineState::Description::PrimitiveTopologyType
to PrimitiveTopology
TIsArithmetic
GPUShaderProgramVS::InputElement
for input layout dataFileMode
, FileAccess
, FileShare
enums into normal enums with docsManagedHandlePool
OnDestroy
location to be called before actor's OnEndPlay
to prevent issues in scriptingstd::function
usage into Function
inside ArrayExtensions
AudioTool
UnwindRadians
and UnwindDegrees
from C# math libTransform Position To Screen UV
in particles graph in CPU code pathDrawSceneDepth
to properly draw scene objects when custom actors list is emptyAPI_INJECT_CODE
injecting duplicated codeOnEnable
/OnStart
Label
to draw text under childrenTypeEditor
if type is missingStringAnsi
fieldVariant
typename for Object or Asset value to properly pass type checksManagedArray
C# handles with poolingTransform
) to properly handle instance valuePrefabObjectID
when setting/getting the actor expanded value for prefabsUnitsToText
to properly print string with 2 decimal placesToString
FormatExceptionRandom Range
nodes in CPU particles/script graphs when using int
NetworkManager::NetworkFPS
is less than 08.3
)AbstractWrapper
from showing in new AnimEvent context menuNativeInterop
methods for game bindingsEnableSimulation
is disabledWheeledVehicle
driving in Drive4W
mode when wheels are in custom ordernull
initiallyDictionary
and HashSet
iterators to prevent unwanted data copiesShaderGraphValue
floating numbers are formatted with enough precisionEditorModules
in Assembly lookup paths to be properly included.
)DEL
character in Text BoxesDebug.Log
line in the Debug Log windowiphonesdk
is not required to build macOS Editor (and check for iOS tools on Mac)MSBuild
Variant
marshalling for scripting structures bindingscsproj
filesActor.RotateAround
to rotate the actors orientationDefaultFrameRate
for animation imported with AssimpFlaxEngine.Objects
Tag
deserialization in cooked gameAudioClip
loading error when buffer start times diff has rounding errorAssetsCache
to include project path and reject cache when project gets duplicated with cacheNavCrowd
to properly wait for navmesh loadedXAudio2
backend (Windows and Xbox)Foliage::GetFoliageTypeInstancesCount
HandleObjectDeserializationError
to be editor or dev only and thread-safeGetVirtualDesktopBounds
for LinuxCannot find compatible metal driver
on macOS due to the newest Vulkan SDK regressionprecompiled DLLs
instead of FlaxEngine.csproj
17.7
CommonValue
inclusionWindowsPlatform::LoadLibrary
to not modify the string parameterVector3
soft casting in Visual ScriptsVariant
XAudio2
backend when source is playingOpenAL
internal device name is all whitespacesVariant
WheeledVehicle
active stateJobSystem.Dispatch
due to GC collecting Delegate objectSplit Objects
enabledINetworkSerializable
in C#-onlyPublished by mafiesto4 over 1 year ago
Release notes: https://docs.flaxengine.com/manual/release-notes/1_6/index.html
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-6-6344/1041
Changelog:
Platform.BuildTargetArchitecture
to build toolLibraryImport
attributes usage for proper bindingsFileSystem::GetDirectorySize
NetworkLagDriver
when Lag is set to zeroDebugDraw
text drawing to rescale text without reducing font sizeOutput/
folder to .gitignore
TaskGraphSystem.RemoveDependency
and automatically cleanup dependencies on system destroyINetworkSerializable
on custom structure in C++ for networkingNetworkReplicator::HasObject
INetworkObject::OnNetworkSync
INetworkObject
for easier suage in game scriptingSoftTypeReference<T>
to scripting API for lazy-load type references (via typename)Camera.UnprojectPoint
methodLevel.FindActorsByParentTag
)FindActor
by type and name (to actor and level)CustomArgs
to compile and link environment in build tool for customizationUtilities::HertzToText
via new Utilities::UnitsToText
LineCast
and LineCastAll
to physics scriptingMyScript
and avoid namign it as Script
to make it easier for usePlatform::GetMousePosition
/WindowsPlatform::SetMousePosition
for unified access to screen-space mouse position on all platformsInput
class delegates to the C#/Visual scripting APIFontTextureAtlas
Span<T>
support for scripting fieldsSpan<T>
to C++ debugger natvis fileOpenAL
backend)PixelFormat
as string instead of integer value for better readabilityClampLength
functions to C++ Vector3
Create collision data
action to be performed for each model selected in the Content WindowEnumAddFlags
for easy flags appendingNetworkReplicator::EnableLog
to optionally enable verbose logging of networkingNetworkStream::SenderId
to detect message sender during object replication or RPC codeNetworkManager::GetClient
by uint32 clientId
NetworkRpcParams
for sending RPC to specific set of clients or to read sender idFont
sizesTag
FileBase::WriteAllText
null
itemSpanContains
utility to C++ scriptingReallocAligned
utilityAPI_INJECT_CODE
macroeol=lf
to gitattributeUnload all but this scene
to Editor scene tree context menuMoveTowards
functions to C++ MathTags::GetSubTags
to scripting apiViewportIconsRenderer::AddActorWithTexture
for custom actor icon per-actor==
operator for Actors and Scripts to properly perform comparison in C# scriptsAudioDataInfo.Length
AL_SOFT_source_spatialize
extension support for stereo spatial audio playbackAllowSpatialization
option to Audio SourceDopplerFactor
to Audio SourcePan
to Audio Source for stereo panningFLAX_1_6_OR_NEWER
)launchSettings.json
generation for Visual Studio 2022 with .NET 7Flax.Build
performance to have even faster buildsNewtonsoft.Json
lib by removing Xml, Schema support and making it AOT-friendly for AOT game buildsSystem.ComponentModel.TypeConverter
assembly usage to reduce cooked game buildsstrlen
callsUtils.InitStructure
usage in generated bindings code if structure can be zero-initedCollisionsHelper::FrustumContainsBox
13.0.2
16.1
1.23.1
dotnet7
WebClient
into HttpClient
in Flax.Build
files download utilityfmt
llibrary to version 9.1
(Aug 27, 2022)Universal Analytics
to the latest GA4
0.9
.gitignore
to skip generated code module header filesCC-BY-4.0 license
Function::TryCall
EnableAdaptiveForce
from Physics settings (deprecated functionality in PhysX)NetworkingPlugin
for C# netcodeZ
axis as forward instead of X
CreateProcessSettings
StringUtils
to simplify codeRootMotionData
into Transform
to simplify codeLevel
class to unload scenes in reversed orderStringUtils::PathRemoveRelativeParts
when going up to the Windows drive with relative path bitsNetworkConfig
on ClangAsset::WaitForLoaded
when loading failed beforeArray For Each
visual script node local vars setupBlend with Mask
node in Anim Graph0
Math.Remap
method as obsolete (use `Math.Map instead)ViewportIconsRenderer
usage in game C++ scriptsTextureMipData::GetPixels
to properly copy pixels of the same formatpng
texture via stb
LayersMatrixEditor
with many layers in useGridGizmo
to render before transparency in Editor viewportAnimatedModel.SetCurrentPose
CharacterController::Move
HashSet::ClearDelete
DefaultScene
value in new projecttargetIds
listStringUtils::ConvertANSI2UTF16
to properly handle multi-byte characters lengthGlobalSDF
NetworkTransform
invalid fields sync copy-paste typosChar
type used in Array
obj
to __obj
to prevent name collisions(-1, 1)
NetworkManager::ClientConnected
dispatch after network state is changed to online for local clientUIControl
linkage to Prefab window when creating UI within prefab Editorctor
methodIntPtr
value typeCtrl+C
/Ctrl+V
in editor contentBitArray::Set
to not be const
String
is assigned to itselfctor
or it throws an exception0
Published by mafiesto4 over 1 year ago
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-5-6339/932
Changelog:
FLAXENGINE_API
to platform specific classes for C++ scripting usageLinuxFileSystem::ShowBrowseFolderDialog
BC4
, BC5
and BC7
formats decompression support on non-Windows platformsTag
natvis debugger printLevel::FindActors
with Tag
IBeam
to default when hovering over cancel button in SearchBox
Published by mafiesto4 over 1 year ago
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-5-6338/919
Changelog:
FlaxEngine
project file generation for VS CodeDontCompress
configuration to build toolOnDebugDraw
/OnDebugDrawSelected
/OnEnable
/OnDisable
to override in scriptingTypeNameEditor
for editing typename reference as soft string valueCook&Run
and Run cooked game
utilities to Game
menu list for multilayer games testingDataContainer
in scripting api bindingsViewportIconsRenderer
SceneReference
to C++ scripting APIAdditionalScenes
to BuildSettings
ViewFlags::Sky
for conditional sky/skybox renderingDefaultValue
support for scripting parametersAfterGBufferPass
and AfterForwardPass
for custom PostFx locationRenderer::DrawActors
for quick actors rendering in custom render passesRenderBuffers::LinkedCustomBuffers
to reuse main game viewport rendered state (eg. GI) in sub-rendered viewGPUContext::SetBlendFactor
StringAnsi
in scripting apiNetworkTransform
componentNetworkLagDriver
for lag simulation over low-level network transport layerWorldPosition
to postfx material scene textures for world-space position sampling at uvGPUDevice::CreateConstantBuffer
for custom constants buffers usageTag
and Tags
for new tags systemFindActor
/FindActors
with Tag
to Level
Tag
to PhysicalMaterial
for physical surfaces taggingUseAssetImportPathRelative
to Editor options and use it by default to store imported asset path relative to the project folderthis
to API_PARAM
for static method extension of a typeAssetRefEditor
Color.FromRGBA
RandomStream
to C#RandomUtil.Rand
method to C# and Visual Script for quick random float in range [0;1]
TargetCompiler
to Flax.Build
toolchainsRenderSetup
and allow customizing it by gameplay and postfxRenderingUpscaleLocation
for customizing upscaler location in render pipelineRender2D.DrawTexturedTriangles
with index bufferFlaxEngine.Object.FromUnmanagedPtr
for native object raw pointer conversion to managed objectScriptingTypeHandle
support for scripting bindings as System.Type
WriteStructure
/ReadStructure
utilities for NetworkMessage
NetworkReplicated
fields in C++ typesMono.Cecil
to Flax.Build
ViewFlags::Sky
for conditional sky/skybox renderingSetResourceState
and ForceRebindDescriptors
to GPUContext
for integration with external rendering librariesCanRender
in postFx to depend on specific render setupGetNativePtr
to GPUAdapter
IsAnyButtonDown
utility to Mouse
and Gamepad
Normalized
to Float2
and Vector2
FLAX_X_Y_OR_NEWER
to game code definesGetScript
to interface typesBlurScaleWithSize
to BlurPanel
for resolution-independent blurMemoryUsage
property to Asset for estimated CPU memory pressureJsonAsset.Save
PostProcessEffect
fields and expose them in a sub-group in EditorContentContextMenu
attribute for custom assets creation grouppingActorContextMenu
attribute for custom actors creation grouppingActorToolbox
attribute for actors grouping in Editor ToolboxActorContextMenu
attribute)KeyDown
and KeyUp
events to TextBoxBase
_
character (eg. mesh LOD_1
)aiProcess_SortByPType
to Assimp importer to reduce artifacts from multi-geometry types importsfloat3
scaling to triplanar texture nodeGetNonTerminatedText
into GetText
in StringView
ReadSttream
and WriteStream
to have easier to use API with more features__underlying_type
and new EnumHasAnyFlags
/EnumHasAllFlags
/EnumHasNoneFlags
ObjectsRemovalService
to skip double-buffering due to issues and complexityPostProcessEffect
to support C++ scriptingGPUResourcesCollection
and use GPUDevice
instead to simplify codeRT1_FloatRGB
and RT2_FloatRGB
in favor pooled render targetsGetElementsCount
to ElementsCount
in C# GPUBufferDescription
DepthTestEnable
to DepthEnable
in Graphics PSO to match actual logicBoundingFrustum::Intersects(BoundingSphere)
GPUBuffer
on D3D11 to not stall CPU on reading staging readback bufferFlipbook
material node bug when frames X was different than Y-skipCompile
argTraceMode
blending in PostFx volume for SSR settingsLinuxFileSystemWatcher
not working in sub-directoriesMesh
data downloading to support not yet streamed vertex/index data gatherOnSceneUnloaded
event to contain valid scene objectGetNativePtr
on VulkanScriptingObject::FromInterface
to return object if the pointer is already valid objectScreen.CursorVisible
set in script OnStart
ParticleEffect
properties editor when no asset is selectedzip
package is not installed)FlaxEngine.CSharp
library file referencingArray
and BitArray
xcopy
path on Windows in Flax.Build
SceneReference
usage in scriptsDownloadMeshData
to properly access data during Finished
eventUp Direction
default value for Character ControllerCenter
property on Character ControllerVisualStudioInstance.GetInstances()
to be sorted from newest to oldestMath::RoundUpToPowerOf2
bool
value in overriden scripting methodDelegate
from other thread during invocationStringView
DataContainer
DefautlInstance
objectsPublished by mafiesto4 about 2 years ago
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-4-6334/811
Changelog:
JobSystem.Execute
utility for quick jobs runningLineHitBox
to Collisions.hlsl
MeshAccelerationStructure
utility for robust triangles geometry queriesMatrix3x3
IsSingleFrame
to RenderView
for thumbnails/pre-render views drawing without temporal effects and LOD transitionsDynamicStructuredBuffer
and DynamicTypesBuffer
utilitiesVisibleIf
ruleCollision (Global SDF)
particle moduleConform to Global SDF
module to GPU particlesPosition (Global SDF)
module to GPU particlesCopy
option for various labels in assets editorsISceneRenderingListener
for using scene information in the renderer cacheCustomBuffers
for injecting custom state into RenderBuffers
Rotate Vector
node to Visject Surface graphsArray Add Unique
node to Visual ScriptingJsonAsset.Instance
for C# asset objectDelegate::BindUnique
constexpr
fields in Scripting APIView Size
node for GUI materialsCustom Global Code
node to materials for injecting custom code, includes or constantsloopCount
to PlaySlotAnimation
for looping slot animationColor.FromRGBA
Double2
, Double3
, Double4
to C# scripting APIUseLargeWorlds
in custom engine build)Variant
GamepadDPadX
/GamepadDPadY
input axes for gamepad DPadEngine.FocusGameViewport
to implement game menu with camera focus gatherHtmlParser
to engine utilities (with unit tests for it)Content.GetEditorAssetPath
EditorPlugin.DeinitializeEditor
to properly cleanup Editor extensions on exitTemplate
flagSetMaterial
NavCrowd
for navigation steering behaviors system for a group of agentsAPI_TYPEDEF
metadata for Scripting API types instantiation (with Alias
option)FLAX_BUILD_BINDINGS
define for Scripting API parser to be used if neededFind references
utility for graph parameters and methodsHeader
attributeTypeReference
attribute to actors/scripts searching utilities for easier type picking in Visual ScriptDefault
auto-generated member to scripting structures and improve deserializationUseAlpha
to RenderBuffers
for pass-though renderer with alpha channelRenderList
if it was not batched/sortedActor::GetOrAddChild
to C++IMaterial
interfaceIsDuringPlay
property for actors and scripts to use in scriptingStaticModel
to register for Scene Rendering once the model has any LOD streamed-inActor.DestroyChildren
to C++FlaxException
PhysicsActor
into Rigidbody
(use IPhysicsActor
interface manually)HashSet
to support custom allocatorAPI_INJECT_CPP_CODE
into API_INJECT_CODE
to support code injection in other languagesOnAwake
before all OnStart
OrientedBoundingBox
to use Transform
for transformation instead of Matrix
(for large worlds)FlaxTests
to run as Editor with all engine services initializedLightmap UVs Source
not working in model import optionsVector2
equality comparisonTextureBrush
to return valid size if texture is not yet loadedconstexpr
Ctrl+S
in timeline view to not split the camera shot mediaFlaxStorage
refs counting to be atomicParticleEmitter.Spawn()
with default duration[AssetReference(typeof(typeName)]
not working for arrays of assets (fix for collection types)Dot
and Distance
graph nodesLinearCurve<Color>
in properties window (color picker window closed keyframe editing popup)Spline::GetSplineLength
freezeelse
and elif
preprocessor blocks in Flax.Build
bindings parserDictionary::Remove
return value if emptyUsedSRsMask
/UsedUAsMask
when binding arrays to the shaderInstanceOrigin
, PerInstanceRandom
and LODDitherFactor
to not use interpolation between shader stagesMultiply
(and similar) nodes result value in Visject if the first input is disconnectedDXGI_ERROR_DEVICE_REMOVED
during initPublished by mafiesto4 over 2 years ago
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-3-6228/643
Changelog:
Function<>
and Delegate<>
ContentItem.OnContextMenu
AssetPicker
a read-onlyLevel::ScriptsReloaded
eventCollisionMeshesPrefix
option to import collision data from model assetUploadMipMapAsync
for GPUTexture
update with custom row/slice pitchClearUA
to GPUContext to clear texture with float valuesContent.GetAllAssets
to get all asset ids in projectControl.Center
bc7enc16
encored for BC7 texture compression on LinuxPlatform.Users
to handle users per-platformJoint.SetJointLocation
for easier joints setupJoint.SetJointOrientation
utilityPhysicsColliders
debug viewEnableAutoAnchor
to Joint for automatic target anchor setupQuaternion::FromDirection
to C++Finished
event to MeshDataCache
SoftAssetReference
typeScriptingObject::NewObject
utility for scripting objects spawning in C++Level::ScriptsReloadRegisterObject
for easier scripting objects refreshing during hot-reload in codeSettingsBase
StringAnsi
serializationStart
time editing in properties popup in seconds if using this view modeSuppressFaceRemapTable
option for collision cookingCollisionData.GetModelTriangle
to retrieve source geometry triangle index from the raycast hit infoFaceIndex
to RayCastHit
PrefabObject
tracks and automated animation instancing with UsePrefabObjects
enabledMathf.Frac
to C# apiResidentMipLevels
on GPU Texture for C# scriptingScriptingTypeHandle::IsSubclassOf
master
builds on GithubGetPixels
and SetPixels
to TextureBase
for easier textures data editingHidden
attribute to scripting fields/properties/methods/eventsItemsListContextMenu
(used by pickers in Editor)FallbackTable
for localized strings table to redirect missing texts into other languageR11G11B10
texture formatRectangle.Distance
for distance between rectangle and a pointNodesConnected
and NodesDisconnected
events to Visject surface APIOnParamEdited
callback to Visject surface parameters APIScriptingEnum
utility with useful features for C++ scriptingF11
shortcut to maximize Game window during play-mode in EditorF2
shortcut for renaming item in files import dialogSplit Objects
object to split imported meshes/animations into separate assetsDefaultFallbackLanguage
to the localization settingsMath::SinCos
Task::StartNew()
to support member functions that return void
ScrollBarsSize
to PanelScriptingTypeHandle::IsAssignableFrom
JsonAsset::GetInstance<T>
for easier access to C++ json asset dataRender2D::DrawTexturedTriangles
variations with vertex colorsDouble2
, Double3
and Double4
)DebugDraw.DrawCone
and DebugDraw.DrawWireCone
DebugDraw.DrawArc
and DebugDraw.DrawWireArc
ScriptingObject::ToInterface
and ScriptingObject::FromInterface
MicrosoftGame.config
PROFILE_CPU_ASSET
for asset related profiler scoped zoneTryGetToolchain
to build platformUtilities::CountBits
GPUContext.ClearUA
for buffer and texture with uint
formatFlaxEditor.pdb
for Development configuration to improve crash reportingDEPRECATED
to mark scripting API as obsoletePRAGMA_DISABLE_DEPRECATION_WARNINGS
and PRAGMA_ENABLE_DEPRECATION_WARNINGS
macros to C++Vector::Angle
functions to C++ManagedBinaryModule::FindModule
utility for C# type class lookupFlaxEngine.Object
HandleObjectDeserializationError
CookCollision
to collision data with triangles as int32
uint
as triangle indices for mesh updates APIShow in explorer
to output log context menuLookingAt
to ActorFindObject
and TryFindObject
in ObjectObject.FindObject
from C#AnimationUtils
String::ReserveSpace
if length doesn't changeAsset::onAssetLoaded
if even is unusedStringView
comparison operatorsPhysicsColliders
mode rendering in EditorMath.NearEqual
Vector3
method to be inlined more oftenFlaxEngine.CSharp.dll
size by 300kB after tooltips removal (xml doc will be used)4
base.OnMouseDown
PersistentScriptingObject
is now ``ScriptingObject`)D6JointMotion
for D6Joint to Locked
DownloadIndexBuffer
to return unsigned dataContextMenuChildMenu
to inherit from ContextMenuButton
autoInitialize
option from scenes loadingSIMD.h
StringView::GetText()
where a null-terminated string was expectedI
as prefix for interface namesCollisionsHelper::ClosestPointPointTriangle
(C++ version)UpdateTexture
on D3D11 for volume texturesMoveFile
on LinuxSyncPointEditor
Span<byte>
to C# method thunk in generated bindings codeTargetViewOffset
from textboxes to be hiddenUSE_EDITOR
define to material shadersParticle Position (world space)
node for CPU particlesStringUtils::ConvertANSI2UTF16
on Unix if length is emptyPersistentScriptingObject
RunProcess
on Linux with custom working directoryDefaultValue
attribute to match the field value typePlane.Normalize
Input::GetGamepadAxis
with InputGamepadIndex::All
MikkTSpace
BoundingFrustum::GetCorners
DefaultValue
attribute support in Custom Editors for unsigned integersPublished by mafiesto4 about 3 years ago
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-2-6224/449
Changelog:
Engine.HasGameViewportFocus
to C# APISuspensionForceOffset
to vehicle wheel config-new
command line arg to create a new projectMapTrack
for actorsPublished by mafiesto4 about 3 years ago
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-2-6223/425
Changelog:
CookingData
for C# editor to extend the cooking processlocale::global
Published by mafiesto4 about 3 years ago
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-2-6222/423
Changelog:
string
constants as defaults in scripting API.po
filesLocalizedStringTable
asset typeLocalizationSettings
LocalizedString
CultureInfo
to C++ APIGOLDEN_RATIO
constantAssetsImportingManager
.po
files with strings localization.pot
file for translationCultureInfo
editor with pickerCreateSearchPopup
to editor utils LocalizedString
to TextRender
for localized textFindClosestNode
to Animated ModelKeyboard.IsAnyKeyDown
HasTypedUAVLoad
to GPULimits (use for GPU lightmaps support baking detection)NotNullItems
option in collections editorsNameof
helper utility for C++GetStringAnsiView
to json valueCategory
attribute for types grouping in editor dialogsAnimationUpdated
event to Animated ModelSetCurrentPose
to Animated ModelSetMasterPoseModel
to Animated Model for modular charactersSceneTicking
to engine API-debugwait
cmd line arg to wait for C# debugger attach on engine startMapTrack
to SceneAnimationPlayerFindScript<T>
and FindActor<T>
to Actor
NoUndo
attribute for properties without undo usageInt16
and Uint16
scripting/serialization support for Visual Scripting-play
cmd line arg for Editor to play game (optional scene id arg value to play certain level)Function<>
as method parameter in scriptingSceneNavigation
for scene data for navigation systemEngine::UpdateGraph
for async engine/game updateDictionary
RingBuffer
templateDictionary
Stopwatch
instead of DateTime.Now
for increased accuracy in Flax.Build profiling toolsPLATFORM_THREADS_LIMIT
for maximum concurrency limitingActor.RotateAround
GPUContextVulkan::CopySubresource
Content.Stats
for assets statistics (replaces Content.AssetCount
)Streaming.Stats
for resources streaming statisticsDebugDraw::DrawTube
Rectangle.Distance
UpdateSpeed
to Animated Model for playback speed scalingJsonSerializer.ParseID
with return valueGamePlugins
CustomUpscale
postFx to replace upscaler with a custom scriptClosestPointPointLine
for Vector3 to C#BoundingBox.MakeScaled
Vector2/3/4
and Quaternion
constants for default value attribute in C# scripting apiInt2/3/4
Vector2/3/4
<=> Int2/3/4
Int3/Int4
Int2/3/4
MeshDataCache
utility for async mesh data cachingAddForceAtPosition
to RigidbodiesVisibleIf
on value editors using group panelAssetsImportingManager
int64
values in EnumComboBoxLocalLocation
to UI controlsC++ Json Asset
and C++ Function Library
templatesUIControlControlEditor
and AnchorPresetsEditorPopup
in Editor pluginsDefaultQueryExtent
to navmesh propertiesBoundingSphere::FromBox
Foliage::OnFoliageTypeModelLoaded
to rebuild only single foliage type clustersThreadLocal.h
Actor.GetChildren<T>()
and Actor.GetScripts<T>()
RenderListAllocation
(mem pooling)WindowsManager::CalcCenteredWinPos
DictionaryInitialSize
from MAssemblyOptions
FontReference
to reference type (class)CalculateTangents
to false as default and calculate normals/tangents by default if missingWindowBase
to allow for better code sharing for platforms without advanced windowingfmt
to version 6.2.1 (9 May 2020)JsonAssetProxy.IsProxyFor
mipIndex
when clearing lightmap textures with a buffer on baking startControl.GetChildAtRecursive
with overlapping controlsForwardShadingFeature
Pair
String::Resize
to support buffer growingRichTextBoxBase
internal bufferThreadLocal
to use atomic operations and prevent rare race conditionsParentID
is not specified in streamAPI_AUTO_SERIALZIATION
usage if base type is not serializableStartsWith
and EndsWith
in StringView
Delegate<>
in API eventTypeSearchPopup
showing types that base type is hiddenprotected internal
access modifier usageScreenSpace
UICanvas prefab preview activate/deactivateAsset::ToString()
to not depend on refs count and look simplerSamplesBuffer::Add
bugWeakAssetReference
handling asset unloadAsset::WaitForLoaded
Published by mafiesto4 over 3 years ago
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-1-6218/339
Changelog:
BoxBrush::SetMaterial
UpDirection
to Character ControllerWriteStream::WriteText
AutoFocus
saved in data for controlsAssetsCache
in game codePrefabSpritesRenderer
from script listContainerControl.GetChildAt
to iterate in reverse order to respect z orderAPI_EVENT
in some casesRootWindow
instead of _root
)Published by mafiesto4 over 3 years ago
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-1-6217/281
Changelog:
API_INTERFACE
to scripting API bindings for implementing interfacesNavAgentProperties
NavMeshProperties
NavAreaProperties
NavAgentMask
TestPath
utility to navigation systemBoxVolume::OnBoundsChanged
after transform changedScriptingTypeHandle
debugger view to flax.natvisObsoleteAttribute
to upgrade old C# asset/script data format after refactorActor.HasStaticFlag
IFunctionDependantNode
for Visject nodesTransform.LocalToWorldVector
and Transform.WorldToLocalVector
DebugDraw.DrawWireTriangles
for wireframe geometry debug drawingSoftObjectReference
for lazy references to assets and objectsFlax.Build
command lineF
to focus camera view in asset previewsWorldSpaceFaceCamera
mode to UICanvasAdd mesh collider
option to Static Model context menuPlatform::GetStackTrace
and Platform::GetStackFrames
dbghelp.dll
libLevel.SpawnActor
to add scene from codeFindRandomPoint
and FindRandomPointAroundCircle
to the navigation utilitiesBoundingSphere::Transform
methodDebugDraw::DrawText
for drawing 2D debug text on a screenDebugDraw::DrawText
for drawing 3D debug text in the worldMask ZW
node to all Visject surfacesEditorScene
for using gameplay logic in editor preview windowsSceneGraphNode.OnContextMenu
for customizationsFlax.Build
-shaderdebug
cmd line switch to Editor for shaders debuggingmutable
keyword on API_FIELD
SceneRenderTask.PreRender
DebugDraw.DrawLines
with uneven amount of linesFLAXENGINE_API
macro to class JsonAsset
Level.GetActors
and Level.GetScripts
Quaternion
helpersRender2D.DrawTexturedTriangles
, Render2D.FillTriangles
and Render2D.FillTriangle
ScriptingTypeHandle
debugger view to flax.natvis
Convert
feature for actors in Editor scene tree context menuTextBoxBase
TextBoxBase
DockWindow
sStringBuilder::ToStringView()
TextBoxBase
ClampLength
to Vector2/3/4StringUtils::ConvertUTF162UTF8
F
key in editor viewport (improvements)Flax.Build
command lineMAssembly::GetClass(MonoClass* monoClass)
search via assembly image early outTexture::DownloadData
for staging texturesCurveSerialization.h
ISceneObject
and ITransformable
StringUtils::ConvertUTF82UTF16
e75adf86f91eb3082220085e42dda62679f9a3ea
PathRemoveRelativeParts
for rooted pathsMAssembly::GetClass(MonoClass* monoClass)
for generic classesfindRandomPointAroundCircle
in Detour lib to return points inside circleColor
struct doc commentsget_Control
getter method from UIControl in Visual ScriptObjectsLookupIdMapping
IncrementNameNumber
in Editor for Unicode strings (wrong inversing method)WindowsPlatform::Log
to not print invalid charactersPublished by mafiesto4 over 3 years ago
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-0-6216/207
Changelog:
BytesContainer
Mesh::UpdateMesh
methods similar to C# APIFLAXENGINE_API
expose macro to engine math typesVectorInt.h
into separate files for Int2, Int3 and Int4CTRL+W
issue in play mode in game view in EditorVariantType.Blob
R10G10B10A2
and R11G11B10
on WindowsGet Node Transform
size and missing output signal boxPublished by mafiesto4 almost 4 years ago
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-0-6215/147
Changelog:
IgnoreMissingDocumentationWarnings
option into generated csproj filesGenerate collision data
from Model context menuScriptingObject::ToString()
when class is missingGPU timer query detected
warning to be single-timeLength
node in Visual ScriptPublished by mafiesto4 almost 4 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/