description: For nodes that need some kind of initialization that is not dependent on node relevancy (i.e. it is insufficient or inefficient to use Initialize_AnyThread), return true here. Note that this is called at load on theUAnimInstanceCDO to avoid needing to call this at runtime.

code: virtual bool NeedsOnInitializeAnimInstance() const


description: Called once, from game thread as the parent anim instance is created

module: AnimGraphRuntime

code: virtual void OnInitializeAnimInstance ( const [FAnimInstanceProxy](API\Runtime\Engine\Animation\FAnimInstanceProxy) * InProxy, const [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * InAnimInstance )


description: Called to update the state of the graph relative to this node. Generally this should configure any weights (etc.) that could affect the poses that will need to be evaluated. This function is what usually executes EvaluateGraphExposedInputs. This can be called on any thread.

code: virtual void Update_AnyThread ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Calls specified user-defined events/functions during anim graph execution

code: struct FAnimNode_CallFunction : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

CallSite

type: EAnimFunctionCa...

description: When to call the function during the execution of the animation graph.

Counter

type: FGraphTraversal...

description: Counter used to determine relevancy.

CurrentWeight

type: float

description: Weight to determine blend-related call sites.

Function

type: FAnimNodeFuncti...

description: Function to call.

Source

type: FPoseLink


description: Called to cache any bones that this node needs to track (e.g. in aFBoneReference). This is usually called at startup when LOD switches occur. This can be called on any thread.

code: virtual void CacheBones_AnyThread ( const [FAnimationCacheBonesContext](API\Runtime\Engine\Animation\FAnimationCacheBonesContext) & Context )


description: Called to evaluate local-space bones transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void Evaluate_AnyThread ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & Output )


description: Override this to indicate thatPreUpdate()should be called on the game thread (usually to gather non-thread safe data) before Update() is called. Note that this is called at load on theUAnimInstanceCDO to avoid needing to call this at runtime. This is called on the game thread.

code: virtual bool HasPreUpdate() const


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: Override this to perform game-thread work prior to non-game thread Update() being called

code: virtual void PreUpdate ( const [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * InAnimInstance )


description: Simple controller to copy a bone's transform to another one.

code: struct FAnimNode_CopyPoseFromMesh : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

bCopyCurves

type: uint8:  1

description: Copy curves also from SouceMeshComponent.

bCopyCustomAttributes

type: bool

description: Copy custom attributes from SouceMeshComponent

bUseAttachedParent

description: If SourceMeshComponent is not valid, and if this is true, it will look for attahced parent as a source

bUseMeshPose

description: Use root space transform to copy to the target pose.

RootBoneToCopy

type: FName

description: If you want to specify copy root, use this - this will ensure copy only below of this joint (inclusively)

SourceMeshComponent

type: TWeakObjectPtr<...

description: This is used by default if it's valid


description: Supply curves from some external source (e.g. audio)

code: struct FAnimNode_CurveSource : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

Alpha

description: How much we wan to blend the curve in by

CurveSource

type: TScriptInterfac...

description: Our bound source

SourceBinding

description: The binding of the curve source we want to bind to.


description: Get the LOD threshold at which this node is enabled. Node is enabled if the current LOD >= threshold.

code: virtual int32 GetLODThreshold() const


code: void RemovePose ( int32 PoseIndex )


description: Invalidates the cached bone data so it is recalculated the next time this node is updated.

code: void InvalidateCachedBoneData()


description: Invalidate the cached per-bone blend weights from the skeleton.

code: void InvalidatePerBoneBlendWeights()


description: Set the blend mask for the specified input pose.

code: void SetBlendMask ( int32 InPoseIndex, [UBlendProfile](API\Runtime\Engine\Animation\UBlendProfile) * InBlendMask )


description: Layered blend (per bone); has dynamic number of blendposes that can blend per different bone sets.

code: struct FAnimNode_LayeredBoneBlend : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

BasePose

description: The source pose

bBlendRootMotionBasedOnRootBone

description: Whether to incorporate the per-bone blend weight of the root bone when lending root motion

BlendMasks

type: TArray<TObject...

description: The blend masks to use for our layer inputs.

BlendMode

type: ELayeredBoneBle...

description: Whether to use branch filters or a blend mask to specify an input pose per-bone influence

BlendPoses

type: TArray<FPoseLi...

description: Each layer's blended pose

BlendWeights

type: TArray< float >

description: The weights of each layer

bMeshSpaceRotationBlend

description: Whether to blend bone rotations in mesh space or in local space

bMeshSpaceScaleBlend

description: Whether to blend bone scales in mesh space or in local space

CurrentBoneBlendWeights

type: TArray<FPerBon...

CurveBlendOption

type: TEnumAsByte< en...

description: How to blend the layers together

CurvePoseSourceIndices

type: TBaseBlendedCur...

description: Per-curve source pose index.

DesiredBoneBlendWeights

description: Transient data to handle weight and target weight this array changes based on required bones

LayerSetup

type: TArray<FInputB...

description: Configuration for the parts of the skeleton to blend for each layer.

LODThreshold

description: Max LOD that this node is allowed to run For example if you have LODThreshold to be 2, it will run until LOD 2 (based on 0 index) when the component LOD becomes 3, it will stop update/evaluate currently transition would be issue and that has to be re-visited

PerBoneBlendWeights

description: Per-bone weights for the skeleton.

RequiredBonesSerialNumber

description: Serial number of the required bones container.

SkeletonGuid

type: FGuid

description: Guids for skeleton used to determine whether the PerBoneBlendWeights need rebuilding.

VirtualBoneGuid

description: Guid for virtual bones used to determine whether the PerBoneBlendWeights need rebuilding.


code: struct FAnimNode_MakeDynamicAdditive : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

Additive

description: Pose to make additive.

Base

description: Reference pose for additive delta calculation.

bMeshSpaceAdditive

description: Do additive delta calculation in mesh space.


description: Called to evaluate component-space bone transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void EvaluateComponentSpace_AnyThread ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output )


code: struct FAnimNode_MeshSpaceRefPose : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)


description: How long to blend using inertialization when switching mirrored state.

code: virtual float GetBlendTimeOnMirrorStateChange() const


description: Should bones mirror.

code: virtual bool GetBoneMirroring() const


description: Should attributes mirror (based on the bone mirroring data in the mirror data table)

code: virtual bool GetAttributeMirroring() const


description: Should the curves mirror.

code: virtual bool GetCurveMirroring() const


description: Get the MirrorDataTable.

code: virtual [UMirrorDataTable](API\Runtime\Engine\Animation\UMirrorDataTable) * GetMirrorDataTable() const


description: Get Mirror State.

code: virtual bool GetMirror() const


description: Whether to reset (reinitialize) the child (source) pose when the mirror state changes.

code: virtual bool GetResetChildOnMirrorStateChange() const


description:
Set if attributes mirror
true if the value was set (it is dynamic), or false if it could not (it is not dynamic or pin exposed)

code: virtual bool SetAttributeMirroring ( bool bInAttributeMirroring )


description:
Set how long to blend using inertialization when switching mirrored state
true if the value was set (it is dynamic), or false if it could not (it is not dynamic or pin exposed)

code: virtual bool SetBlendTimeOnMirrorStateChange ( float InBlendTime )


description:
Set if bones mirror
true if the value was set (it is dynamic), or false if it could not (it is not dynamic or pin exposed)

code: virtual bool SetBoneMirroring ( bool bInBoneMirroring )


description: Set Mirror State.

code: virtual bool SetMirror ( bool bInMirror )


description:
Set if curves mirror
true if the value was set (it is dynamic), or false if it could not (it is not dynamic or pin exposed)

code: virtual bool SetCurveMirroring ( bool bInCurveMirroring )


description:
Set whether to reset (reinitialize) the child (source) pose when the mirror state changes
true if the value was set (it is dynamic), or false if it could not (it is not dynamic or pin exposed)

code: virtual bool SetResetChildOnMirrorStateChange ( bool bInResetChildOnMirrorStateChange )


description: Set the MirrorDataTable.

code: virtual bool SetMirrorDataTable ( [UMirrorDataTable](API\Runtime\Engine\Animation\UMirrorDataTable) * MirrorTable )


code: struct FAnimNode_Mirror : public [FAnimNode_MirrorBase](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_MirrorBase)

BlendTime

type: float

description: Inertialization blend time to use when transitioning between mirrored and unmirrored states.

MirrorDataTable

type: TObjectPtr<UMi...


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: Called to evaluate local-space bones transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void Evaluate_AnyThread ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & Output )


description: Called to cache any bones that this node needs to track (e.g. in aFBoneReference). This is usually called at startup when LOD switches occur. This can be called on any thread.

code: virtual void CacheBones_AnyThread ( const [FAnimationCacheBonesContext](API\Runtime\Engine\Animation\FAnimationCacheBonesContext) & Context )


description: Should bones mirror.

code: virtual bool GetBoneMirroring() const


code: virtual float GetBlendTimeOnMirrorStateChange() const


description: Should the curves mirror.

code: virtual bool GetCurveMirroring() const


description: Get the MirrorDataTable.

code: virtual [UMirrorDataTable](API\Runtime\Engine\Animation\UMirrorDataTable) * GetMirrorDataTable() const


description: This only used by custom handlers, and it is advanced feature.

code: virtual [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base) * GetSourceLinkNode()


code: virtual bool GetResetChildOnMirrorStateChange() const


description: Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


code: virtual void SetSourceLinkNode ( [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base) * NewLinkNode )


description: Called to update the state of the graph relative to this node. Generally this should configure any weights (etc.) that could affect the poses that will need to be evaluated. This function is what usually executes EvaluateGraphExposedInputs. This can be called on any thread.

code: virtual void Update_AnyThread ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


code: struct FAnimNode_MirrorBase : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

Source

type: FPoseLink


code: virtual bool GetAttributeMirroring() const


description: Get Mirror State.

code: virtual bool GetMirror() const


code: virtual bool SetAttributeMirroring ( bool bInAttributeMirroring )


code: virtual bool SetBlendTimeOnMirrorStateChange ( float InBlendTime )


code: virtual bool SetCurveMirroring ( bool bInCurveMirroring )


description: Set Mirror State.

code: virtual bool SetMirror ( bool bInMirror )


description: Set the MirrorDataTable.

code: virtual bool SetMirrorDataTable ( [UMirrorDataTable](API\Runtime\Engine\Animation\UMirrorDataTable) * MirrorTable )


code: virtual bool SetResetChildOnMirrorStateChange ( bool bInResetChildOnMirrorStateChange )


code: virtual bool SetBoneMirroring ( bool bInBoneMirroring )


code: struct FAnimNode_Mirror_Standalone : public [FAnimNode_MirrorBase](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_MirrorBase)


description: Add new curve being modified

code: void AddCurve ( const [FName](API\Runtime\Core\UObject\FName) & InName, float InValue )


code: virtual void CacheBones_AnyThread ( const [FAnimationCacheBonesContext](API\Runtime\Engine\Animation\FAnimationCacheBonesContext) & Context )


code: virtual void Evaluate_AnyThread ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & Output )


code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: Remove a curve from being modified

code: void RemoveCurve ( int32 PoseIndex )


code: [FAnimNode_ModifyCurve](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_ModifyCurve) & operator= ( const [FAnimNode_ModifyCurve](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_ModifyCurve) & )


code: virtual void Update_AnyThread ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


code: PRAGMA_DISABLE_DEPRECATION_WARNINGS FAnimNode_ModifyCurve ( const [FAnimNode_ModifyCurve](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_ModifyCurve) & )


description: Easy way to modify curve values on a pose

code: struct FAnimNode_ModifyCurve : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

ApplyMode

type: EModifyCurveApp...

CurveMap

type: TMap<FName, fl...

CurveNames

type: TArray<FName>

LastCurve

type: FBlendedHeapCur...


code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


code: float GetTotalAlpha() const


code: void RemovePose ( int32 PoseIndex )


description: This represents a baked transition.

code: struct FAnimNode_MultiWayBlend : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

AlphaScaleBias

type: FInputScaleBias

bAdditiveNode

type: bool


description: Initialize function for setup purposes


description: Rebuild pose list

code: virtual void RebuildPoseList ( const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & InBoneContainer, const [UPoseAsset](API\Runtime\Engine\Animation\UPoseAsset) * InPoseAsset )


description: Update method for the asset player, to be implemented by derived classes

code: virtual void UpdateAssetPlayer ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Evaluates a point in an anim sequence, using a specific time input rather than advancing time internally. Typically the playback position of the animation for this node will represent something other than time, like jump height. This node will not trigger any notifies present in the associated sequence.

code: struct FAnimNode_PoseBlendNode : public [FAnimNode_PoseHandler](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_PoseHandler)

BlendOption

type: EAlphaBlendOpti...

description: Type of blending used (Linear, Cubic, etc.)

CustomCurve

type: TObjectPtr<UCu...

description: If you're using Custom BlendOption, you can specify curve


code: struct FAnimNode_PoseByName : public [FAnimNode_PoseHandler](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_PoseHandler)

PoseName

type: FName


description: Get the LOD threshold at which this node is enabled. Node is enabled if the current LOD >= threshold.

code: virtual int32 GetLODThreshold() const


description: Returns the radius for a given target

code: float GetRadiusForTarget ( const [FRBFTarget](API\Runtime\AnimGraphRuntime\RBF\FRBFTarget) & Target ) const


description: Return array ofFRBFTargetstructs, derived from PoseTargets array and DriveSource setting

code: void GetRBFTargets ( [TArray](API\Runtime\Core\Containers\TArray)< [FRBFTarget](API\Runtime\AnimGraphRuntime\RBF\FRBFTarget) > & OutTargets, const [FBoneContainer](API\Runtime\Engine\FBoneContainer) * BoneContainer ) const


description: Rebuild Pose List


description: Util for seeing if BoneName is in the list of driven bones (and bFilterDrivenBones is true)

code: bool IsBoneDriven ( [FName](API\Runtime\Core\UObject\FName) BoneName ) const


description: RBF based orientation driver

code: struct FAnimNode_PoseDriver : public [FAnimNode_PoseHandler](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_PoseHandler)

bCachedDrivenIDsAreDirty

type: uint8:  1

description: If true, will recalculate DrivenUID values in PoseTargets array on next eval

bEvalFromRefPose

description: Evaluate SourceBone transform relative from its Reference Pose.

bHasOnlyDriveBones

description: Checks if there are valid bones in OnlyDriveBones, since some entries can be None

BonesToFilter

type: TArray<FCompac...

description: This array lists bones that we should filter out (ie have a track in the PoseAsset, but are not listed in OnlyDriveBones)

bSoloDrivenOnly

description: Only solo the driven poses, and don't move the source joint(s) to match

DriveOutput

type: EPoseDriverOutp...

description: Whether we should drive poses or curves

DriveSource

type: EPoseDriverSour...

description: Which part of the transform is read

EvalSpaceBone

type: FBoneReference

description: Optional other bone space to use when reading SourceBone transform.

LODThreshold

description: Max LOD that this node is allowed to run For example if you have LODThreshold to be 2, it will run until LOD 2 (based on 0 index) when the component LOD becomes 3, it will stop update/evaluate currently transition would be issue and that has to be re-visited

OnlyDriveBones

type: TArray<FBoneRe...

description: List of bones that will modified by this node.

OutputWeights

type: TArray<FRBFOut...

description: Last set of output weights from RBF solve

PoseTargets

type: TArray<FPoseDr...

description: Targets used to compare with current pose and drive morphs/poses

RBFParams

type: FRBFParams

description: Parameters used by RBF solver

SoloTargetIndex

description: The target to solo on, or INDEX_NONE if to use the normal weight computation.

SourceBones

description: Bone to use for driving parameters based on its orientation

SourceBoneTMs

type: TArray< FTransf...

description: Input source bone TM, used for debug drawing

SourcePose

description: Bones to use for driving parameters based on their transform


description: Cache bone blend weights - called when pose asset changes

code: void CacheBoneBlendWeights ( [FAnimInstanceProxy](API\Runtime\Engine\Animation\FAnimInstanceProxy) * InstanceProxy )


description: Called to cache any bones that this node needs to track (e.g. in aFBoneReference). This is usually called at startup when LOD switches occur. This can be called on any thread.

code: virtual void CacheBones_AnyThread ( const [FAnimationCacheBonesContext](API\Runtime\Engine\Animation\FAnimationCacheBonesContext) & Context )


description: Called to gather on-screen debug data. This is called on the game thread.


description: Get the animation asset associated with the node, derived classes should implement this

code: virtual [UAnimationAsset](API\Runtime\Engine\Animation\UAnimationAsset) * GetAnimAsset() const


code: virtual float GetAccumulatedTime() const


description: Functions to report data to getters, this is required for all asset players (but can't be pure abstract because of struct instantiation generated code).

code: virtual float GetCurrentAssetLength() const


code: virtual float GetCurrentAssetTime() const


description: Initialize function for setup purposes

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: Rebuild pose list


description: Override the currently accumulated time

code: virtual void SetAccumulatedTime ( float NewTime )


description: Set the pose asset to use for this node.

code: void SetPoseAsset ( [UPoseAsset](API\Runtime\Engine\Animation\UPoseAsset) * InPoseAsset )


description: Update method for the asset player, to be implemented by derived classes

code: virtual void UpdateAssetPlayer ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Evaluates a point in an anim sequence, using a specific time input rather than advancing time internally. Typically the playback position of the animation for this node will represent something other than time, like jump height. This node will not trigger any notifies present in the associated sequence.

code: struct FAnimNode_PoseHandler : public [FAnimNode_AssetPlayerBase](API\Runtime\Engine\Animation\FAnimNode_AssetPlayerBase)

BoneBlendWeights

type: TArray< float >

description: Weight to blend pose per joint - has to be cached whenever cache bones for LOD note this is for mesh bone

CurrentPoseAsset

type: TWeakObjectPtr<...

PoseAsset

type: TObjectPtr<UPo...

description: The animation sequence asset to evaluate.

PoseExtractContext

type: FAnimExtractCon...


description: Called to evaluate local-space bones transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void Evaluate_AnyThread ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & Output )


description: Called after CurrentPoseAsset is changed.

code: virtual void OnPoseAssetChange()


code: virtual bool HasPreUpdate() const


description: Override this to perform game-thread work prior to non-game thread Update() being called

code: virtual void PreUpdate ( const [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * InAnimInstance )


description: Provide a snapshot pose, either from the internal named pose cache or via a supplied snapshot

code: struct FAnimNode_PoseSnapshot : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

Mode

type: ESnapshotSource...

description: How to access the snapshot

Snapshot

type: FPoseSnapshot

description: Snapshot to use. This should be populated at first by calling SnapshotPose

SnapshotName

description: The name of the snapshot previously stored with SavePoseSnapshot


description: Called to update the state of the graph relative to this node. Generally this should configure any weights (etc.) that could affect the poses that will need to be evaluated. This function is what usually executes EvaluateGraphExposedInputs. This can be called on any thread.

code: virtual void Update_AnyThread ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Set the cached blendweight to zero

code: virtual void ClearCachedBlendWeight()


code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: Get the currently referenced time within the asset player node


code: virtual [UAnimationAsset](API\Runtime\Engine\Animation\UAnimationAsset) * GetAnimAsset() const


description: Get the last encountered blend weight for this node

code: virtual float GetCachedBlendWeight() const


description: Check whether this node should be ignored when testing for relevancy in state machines.

code: virtual bool GetIgnoreForRelevancyTest() const


description: Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.


description: Get the delta time record owned by this asset player (or null)

code: virtual const [FDeltaTimeRecord](API\Runtime\Engine\Animation\FDeltaTimeRecord) * GetDeltaTimeRecord() const


code: struct FAnimNode_RandomPlayer : public [FAnimNode_AssetPlayerRelevancyBase](API\Runtime\Engine\Animation\FAnimNode_AssetPlayerRelevancyBa-)

BlendWeight

type: float

description: Last encountered blend weight for this node

bShuffleMode

type: bool

description: When shuffle mode is active we will never loop a sequence beyond MaxLoopCount without visiting each sequence in turn (no repeats).

Entries

type: TArray<FRandom...

description: List of sequences to randomly step through


description: Set whether this node should be ignored when testing for relevancy in state machines.

code: virtual bool SetIgnoreForRelevancyTest ( bool bInIgnoreForRelevancyTest )


description: Set the ref pose type of this node.

code: void SetRefPoseType ( ERefPoseType InType )


description: Get the type of this ref pose.

code: ERefPoseType GetRefPoseType() const


description: RefPose pose nodes - ref pose or additive RefPose pose.

code: struct FAnimNode_RefPose : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)


description: Called to evaluate local-space bones transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void Evaluate_AnyThread ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & Output )


description: Called to cache any bones that this node needs to track (e.g. in aFBoneReference). This is usually called at startup when LOD switches occur. This can be called on any thread.

code: virtual void CacheBones_AnyThread ( const [FAnimationCacheBonesContext](API\Runtime\Engine\Animation\FAnimationCacheBonesContext) & Context )


code: struct FAnimNode_RotateRootBone : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

BasePose

type: FPoseLink

bRotateRootMotionAttribute

description: If enabled, rotating the root bone using this node will also rotate the direction of the root motion custom attribute.

MeshToComponent

type: FRotator

PitchScaleBiasClamp

type: FInputScaleBias...


description: Get the LOD threshold at which this node is enabled. Node is enabled if the current LOD >= threshold.

code: virtual int32 GetLODThreshold() const


description: Initialize function for setup purposes

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: Update method for the asset player, to be implemented by derived classes

code: virtual void UpdateAssetPlayer ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


code: struct FAnimNode_RotationOffsetBlendSpace : public [FAnimNode_BlendSpacePlayer](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_BlendSpacePlayer)

Alpha

description: Current strength of the AimOffset.

AlphaBoolBlend

type: FInputAlphaBool...

AlphaCurveName

type: FName

AlphaInputType

type: EAnimAlphaInput...

AlphaScaleBias

type: FInputScaleBias

LODThreshold

description: Max LOD that this node is allowed to run For example if you have LODThreshold to be 2, it will run until LOD 2 (based on 0 index) when the component LOD becomes 3, it will stop update/evaluate currently transition would be issue and that has to be re-visited


description: the sync group that this blendspace uses


description: Allows multiple animations to be blended between based on input parameters.

code: struct FAnimNode_RotationOffsetBlendSpaceGraph : public [FAnimNode_BlendSpaceGraphBase](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_BlendSpaceGraphBase)


description: The time at which to evaluate the associated sequence.

code: virtual float GetExplicitTime() const


description: Get the sync group method we are using.

code: virtual EAnimSyncMethod GetGroupMethod() const


description: Get the sync group role we are using.

code: virtual [EAnimGroupRole::Type](API\Runtime\Engine\Animation\EAnimGroupRole__Type) GetGroupRole() const


description: Get the sync group name we are using.

code: virtual [FName](API\Runtime\Core\UObject\FName) GetGroupName() const


description: Check whether this node should be ignored when testing for relevancy in state machines.

code: virtual bool GetIgnoreForRelevancyTest() const


description: What to do when SequenceEvaluator is reinitialized

code: virtual [TEnumAsByte](API\Runtime\Core\Containers\TEnumAsByte)< [ESequenceEvalReinit::Type](API\Runtime\AnimGraphRuntime\AnimNodes\ESequenceEvalReinit__Type) > GetReinitializationBehavior() const


description: The animation sequence asset to evaluate.

code: virtual [UAnimSequenceBase](API\Runtime\Engine\Animation\UAnimSequenceBase) * GetSequence() const


description: The start up position, it only applies when ReinitializationBehavior == StartPosition. Only used when bTeleportToExplicitTime is false.

code: virtual float GetStartPosition() const


description: If true, teleport to explicit time, does NOT advance time (does not trigger notifies, does not extract Root Motion, etc.) If false, will advance time (will trigger notifies, extract root motion if applicable, etc.) Note: using a sync group forces advancing time regardless of what this option is set to.

code: virtual bool GetTeleportToExplicitTime() const


description: Does this asset player loop back to the start when it reaches the end?

code: virtual bool IsLooping() const


description: Set the time at which to evaluate the associated sequence.

code: virtual bool SetExplicitTime ( float InTime )


description: Set the sync group name we are using.

code: virtual bool SetGroupName ( [FName](API\Runtime\Core\UObject\FName) InGroupName )


description: Set the sync group method we are using.

code: virtual bool SetGroupMethod ( EAnimSyncMethod InMethod )


description: Set the sync group role we are using.

code: virtual bool SetGroupRole ( [EAnimGroupRole::Type](API\Runtime\Engine\Animation\EAnimGroupRole__Type) InRole )


description: Set whether this node should be ignored when testing for relevancy in state machines.

code: virtual bool SetIgnoreForRelevancyTest ( bool bInIgnoreForRelevancyTest )


description: Set the animation to continue looping when it reaches the end.

code: virtual bool SetShouldLoop ( bool bInShouldLoop )


description: Set the animation sequence asset to evaluate.

code: virtual bool SetSequence ( [UAnimSequenceBase](API\Runtime\Engine\Animation\UAnimSequenceBase) * InSequence )


description: Sequence evaluator node that can be used with constant folding.

code: struct FAnimNode_SequenceEvaluator : public [FAnimNode_SequenceEvaluatorBase](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_SequenceEvaluatorBase)


description: Called to evaluate local-space bones transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void Evaluate_AnyThread ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & Output )


description: Called to cache any bones that this node needs to track (e.g. in aFBoneReference). This is usually called at startup when LOD switches occur. This can be called on any thread.

code: virtual void CacheBones_AnyThread ( const [FAnimationCacheBonesContext](API\Runtime\Engine\Animation\FAnimationCacheBonesContext) & Context )


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


code: virtual float GetAccumulatedTime() const


description: Get the animation asset associated with the node, derived classes should implement this

code: virtual [UAnimationAsset](API\Runtime\Engine\Animation\UAnimationAsset) * GetAnimAsset() const


code: virtual float GetCurrentAssetTime() const


description: Functions to report data to getters, this is required for all asset players (but can't be pure abstract because of struct instantiation generated code).

code: virtual float GetCurrentAssetLength() const


description: The time at which to evaluate the associated sequence.

code: virtual float GetExplicitTime() const


description: Get the effective delta time between the previous and current frame internal time.

code: virtual float GetEffectiveDeltaTime ( float ExplicitTime, float PrevExplicitTime ) const


description: What to do when SequenceEvaluator is reinitialized

code: virtual [TEnumAsByte](API\Runtime\Core\Containers\TEnumAsByte)< [ESequenceEvalReinit::Type](API\Runtime\AnimGraphRuntime\AnimNodes\ESequenceEvalReinit__Type) > GetReinitializationBehavior() const


description: This only works if bTeleportToExplicitTime is false OR this node is set to use SyncGroup

code: virtual bool GetShouldLoop() const


description: The animation sequence asset to evaluate.

code: virtual [UAnimSequenceBase](API\Runtime\Engine\Animation\UAnimSequenceBase) * GetSequence() const


description: If true, teleport to explicit time, does NOT advance time (does not trigger notifies, does not extract Root Motion, etc.) If false, will advance time (will trigger notifies, extract root motion if applicable, etc.) Note: using a sync group forces advancing time regardless of what this option is set to.

code: virtual bool GetTeleportToExplicitTime() const


description: Initialize function for setup purposes

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: The start up position, it only applies when ReinitializationBehavior == StartPosition. Only used when bTeleportToExplicitTime is false.

code: virtual float GetStartPosition() const


code: void SetExplicitPreviousTime ( float PreviousTime )


description: Set the time at which to evaluate the associated sequence.

code: virtual bool SetExplicitTime ( float InTime )


description: Set what to do when SequenceEvaluator is reinitialized

code: virtual void SetReinitializationBehavior ( [TEnumAsByte](API\Runtime\Core\Containers\TEnumAsByte)< [ESequenceEvalReinit::Type](API\Runtime\AnimGraphRuntime\AnimNodes\ESequenceEvalReinit__Type) > InBehavior )


code: virtual bool SetSequence ( [UAnimSequenceBase](API\Runtime\Engine\Animation\UAnimSequenceBase) * InSequence )


description: Set the animation to continue looping when it reaches the end.

code: virtual bool SetShouldLoop ( bool bInShouldLoop )


description: Set whether to teleport to explicit time when it is set.

code: virtual void SetTeleportToExplicitTime ( bool bInTeleport )


description: Update method for the asset player, to be implemented by derived classes

code: virtual void UpdateAssetPlayer ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Abstract base class. Evaluates a point in an anim sequence, using a specific time input rather than advancing time internally. Typically the playback position of the animation for this node will represent something other than time, like jump height. This node will not trigger any notifies present in the associated sequence.

code: struct FAnimNode_SequenceEvaluatorBase : public [FAnimNode_AssetPlayerBase](API\Runtime\Engine\Animation\FAnimNode_AssetPlayerBase)


description: Get the sync group method we are using.

code: virtual EAnimSyncMethod GetGroupMethod() const


description: Get the sync group name we are using.

code: virtual [FName](API\Runtime\Core\UObject\FName) GetGroupName() const


description: Override the currently accumulated time

code: virtual void SetAccumulatedTime ( float NewTime )


description: Get the sync group role we are using.

code: virtual [EAnimGroupRole::Type](API\Runtime\Engine\Animation\EAnimGroupRole__Type) GetGroupRole() const


description: Check whether this node should be ignored when testing for relevancy in state machines.

code: virtual bool GetIgnoreForRelevancyTest() const


code: virtual [TEnumAsByte](API\Runtime\Core\Containers\TEnumAsByte)< [ESequenceEvalReinit::Type](API\Runtime\AnimGraphRuntime\AnimNodes\ESequenceEvalReinit__Type) > GetReinitializationBehavior() const


code: virtual [UAnimSequenceBase](API\Runtime\Engine\Animation\UAnimSequenceBase) * GetSequence() const


code: virtual bool GetTeleportToExplicitTime() const


description: Does this asset player loop back to the start when it reaches the end?

code: virtual bool IsLooping() const


description: Set the sync group method we are using.

code: virtual bool SetGroupMethod ( EAnimSyncMethod InMethod )


description: Set the sync group name we are using.

code: virtual bool SetGroupName ( [FName](API\Runtime\Core\UObject\FName) InGroupName )


description: Set the sync group role we are using.

code: virtual bool SetGroupRole ( [EAnimGroupRole::Type](API\Runtime\Engine\Animation\EAnimGroupRole__Type) InRole )


description: Set whether this node should be ignored when testing for relevancy in state machines.

code: virtual bool SetIgnoreForRelevancyTest ( bool bInIgnoreForRelevancyTest )


code: virtual void SetReinitializationBehavior ( [TEnumAsByte](API\Runtime\Core\Containers\TEnumAsByte)< [ESequenceEvalReinit::Type](API\Runtime\AnimGraphRuntime\AnimNodes\ESequenceEvalReinit__Type) > InBehavior )


description: Set the animation sequence asset to evaluate.

code: virtual bool SetSequence ( [UAnimSequenceBase](API\Runtime\Engine\Animation\UAnimSequenceBase) * InSequence )


code: virtual void SetTeleportToExplicitTime ( bool bInTeleport )


description: Sequence evaluator node that can be used standalone (without constant folding)

code: struct FAnimNode_SequenceEvaluator_Standalone : public [FAnimNode_SequenceEvaluatorBase](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_SequenceEvaluatorBase)


description: Called to evaluate local-space bones transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void Evaluate_AnyThread ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & Output )


description: Called to cache any bones that this node needs to track (e.g. in aFBoneReference). This is usually called at startup when LOD switches occur. This can be called on any thread.

code: virtual void CacheBones_AnyThread ( const [FAnimationCacheBonesContext](API\Runtime\Engine\Animation\FAnimationCacheBonesContext) & Context )


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: Called to update the state of the graph relative to this node. Generally this should configure any weights (etc.) that could affect the poses that will need to be evaluated. This function is what usually executes EvaluateGraphExposedInputs. This can be called on any thread.

code: virtual void Update_AnyThread ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: An animation slot node normally acts as a passthru, but a montage or PlaySlotAnimation call from game code can cause an animation to blend in and be played on the slot temporarily, overriding the Source input.

code: struct FAnimNode_Slot : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

bAlwaysUpdateSourcePose

description: Whether we should continue to update the source pose regardless of whether it would be used.

SlotName

description: The name of this slot, exposed to gameplay code, etc...

SlotNodeInitializationCounter

type: FGraphTraversal...

Source

description: The source input, passed thru to the output unless a montage or slot animation is currently playing.

WeightData

type: FSlotNodeWeight...


description: Get the group name that we synchronize with.


code: struct FAnimNode_Sync : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)


code: FBlendBoneByChannelEntry()


description: This represents a baked transition.

code: struct FAnimNode_TwoWayBlend : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

Alpha

description: The float value that controls the alpha blending when the alpha input type is set to 'Float'

AlphaCurveName

description: The animation curve that controls the alpha blending when the alpha input type is set to 'Curve'

AlphaInputType

description: The data type used to control the alpha blending between the A and B poses.

bAIsRelevant

type: uint8: 1

bAlphaBoolEnabled

description: The boolean value that controls the alpha blending when the alpha input type is set to 'Bool'

bResetChildOnActivation

description: This reinitializes child pose when re-activated. For example, when active child changes


className: FBlendBoneByChannelEntry

code: struct FBlendBoneByChannelEntry

bBlendRotation

description: Copy Rotation from Source to Target

bBlendScale

description: Copy Scale from Source to Target

bBlendTranslation

description: Copy Translation from Source to Target

SourceBone

type: FBoneReference

description: Bone to take Transform from

TargetBone

description: Bone to apply Transform to


description: Removing deprecation for default copy operator/constructor to avoid deprecation warnings

code: PRAGMA_DISABLE_DEPRECATION_WARNINGS FPoseDriverTarget ( const [FPoseDriverTarget](API\Runtime\AnimGraphRuntime\AnimNodes\FPoseDriverTarget) & )


code: [FPoseDriverTarget](API\Runtime\AnimGraphRuntime\AnimNodes\FPoseDriverTarget) & operator= ( const [FPoseDriverTarget](API\Runtime\AnimGraphRuntime\AnimNodes\FPoseDriverTarget) & )


className: FPoseDriverTarget

description: Information about each target in the PoseDriver

code: struct FPoseDriverTarget

bApplyCustomCurve

description: If we should apply a custom curve mapping to how this target activates

bIsHidden

description: If we should hide this pose from the UI

BoneTransforms

type: TArray<FPoseDr...

description: Translation of this target

CustomCurve

type: FRichCurve

description: Custom curve mapping to apply if bApplyCustomCurve is true

DistanceMethod

type: ERBFDistanceMet...

description: Override for the distance method to use for each target

DrivenName

description: Name of item to drive - depends on DriveOutput setting.

FunctionType

type: ERBFFunctionTyp...

description: Override for the function method to use for each target

PoseCurveIndex

description: Pose buffer index

TargetRotation

description: Rotation of this target

TargetScale

description: Scale applied to this target's function - a larger value will activate this target sooner


className: FPoseDriverTransform

description: Translation and rotation for a particular bone at a particular target

code: struct FPoseDriverTransform

TargetRotation

description: Rotation of this target

TargetTranslation

type: FVector

description: Translation of this target


code: FRandomPlayerSequenceEntry()


className: FRandomAnimPlayData

code: struct FRandomAnimPlayData

BlendWeight

type: float

description: Current blend weight.

CurrentPlayTime

description: The time at which the animation is currently playing.

DeltaTimeRecord

type: FDeltaTimeRecor...

description: Delta time record for this play through.

Entry

type: FRandomPlayerSe...

description: Indexinto the real sequence entry list, not the valid entry list.

MarkerTickRecord

type: FMarkerTickReco...

description: Marker tick record for this play through.

PlayRate

description: Calculated play rate.

PlayStartTime

description: The time at which the animation started playing.

RemainingLoops

description: Calculated loops remaining.


code: template<> struct TStructOpsTypeTraits< FAnimNode_BlendSpacePlayerBase > : public [TStructOpsTypeTraitsBase2< FAnimNode_BlendSpacePlayerBase >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


className: FRandomPlayerSequenceEntry

description: The random player node holds a list of sequences and parameter ranges which will be played continuously In a random order. If shuffle mode is enabled then each entry will be played once before repeating any

code: struct FRandomPlayerSequenceEntry

BlendIn

type: FAlphaBlend

description: Blending properties used when this entry is blending in ontop of another entry

ChanceToPlay

description: When not in shuffle mode, this is the chance this entry will play (normalized against all other sample chances)

MaxLoopCount

description: Maximum number of times this entry will loop before ending

MaxPlayRate

description: Maximum playrate for this entry

MinLoopCount

description: Minimum number of times this entry will loop before ending

MinPlayRate

description: Minimum playrate for this entry

Sequence

type: TObjectPtr<UAn...

description: Sequence to play when this entry is picked


className: WithPureVirtual

code: enum &123; WithPureVirtual = true &125;


description: Deprecated* Please use the other Notify function instead

code: virtual void BranchingPointNotify ( [FBranchingPointNotifyPayload](API\Runtime\Engine\Animation\AnimNotifies\FBranchingPointNotifyPayload) & BranchingPointPayload )


code: virtual bool CanBePlaced ( [UAnimSequenceBase](API\Runtime\Engine\Animation\UAnimSequenceBase) * Animation ) const


code: virtual [FString](API\Runtime\Core\Containers\FString) GetNotifyName_Implementation() const


code: class UAnimNotify_PlayMontageNotify : public [UAnimNotify](API\Runtime\Engine\Animation\AnimNotifies\UAnimNotify)

NotifyName

type: FName

description: Name of notify that is passed to the PlayMontage K2Node.


code: UAnimNotify_PlayMontageNotify ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual void BranchingPointNotifyEnd ( [FBranchingPointNotifyPayload](API\Runtime\Engine\Animation\AnimNotifies\FBranchingPointNotifyPayload) & BranchingPointPayload )


code: virtual void BranchingPointNotifyBegin ( [FBranchingPointNotifyPayload](API\Runtime\Engine\Animation\AnimNotifies\FBranchingPointNotifyPayload) & BranchingPointPayload )


code: UAnimNotify_PlayMontageNotifyWindow ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UAnimNotify_PlayMontageNotifyWindow : public [UAnimNotifyState](API\Runtime\Engine\Animation\AnimNotifies\UAnimNotifyState)

description: Name of notify that is passed to ability.


description: Various ways to interpolate TAlphaBlend.

code: namespace EInterpolationBlend { enum Type { Linear, Cubic, Sinusoidal, EaseInOutExponent2, EaseInOutExponent3, EaseInOutExponent4, EaseInOutExponent5, MAX, } }


className: FAnimConstraintOffsetPair

code: struct FAnimConstraintOffsetPair


className: FAngularRangeLimit

code: struct FAngularRangeLimit


code: FAnimConstraintOffsetPair ( const FVector & InBody0Offset, const FVector InBody1Offset )


code: void InitializeTransforms ( [FAnimInstanceProxy](API\Runtime\Engine\Animation\FAnimInstanceProxy) * MyAnimInstanceProxy, [FCSPose](API\Runtime\Engine\FCSPose)< [FCompactPose](API\Runtime\Engine\FCompactPose) > & MeshBases )


className: FAnimLegIKData

description: Runtime foot data after validation, we guarantee these bones to exist

code: struct FAnimLegIKData

FKLegBoneIndices

type: TArray<FCompac...

FKLegBoneTransforms

type: TArray< FTransf...

IKChain

type: FIKChain

IKFootBoneIndex

type: FCompactPoseBon...

IKFootTransform

type: FTransform

LegDefPtr

type: FAnimLegIKDefin...


className: FAnimLegIKDefinition

description: Per foot definitions

code: struct FAnimLegIKDefinition

bEnableKneeTwistCorrection

type: bool

description: Enable Knee Twist correction, by comparing Foot FK with Foot IK orientation.

bEnableRotationLimit

description: If enabled, we prevent the leg from bending backwards and enforce a min compression angle

FKFootBone

type: FBoneReference

FootBoneForwardAxis

type: TEnumAsByte<EA...

description: Forward Axis for Foot bone.

HingeRotationAxis

description: Hinge Bones Rotation Axis. This is essentially the plane normal for (hip - knee - foot).

MinRotationAngle

description: Only used if bEnableRotationLimit is enabled.

TwistOffsetCurveName

description: Name of the curve to use as the twist offset angle(in degrees).


description: Evaluate the new component-space transforms for the affected bones.

code: virtual void EvaluateSkeletalControl_AnyThread ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output, [TArray](API\Runtime\Core\Containers\TArray)< [FBoneTransform](API\Runtime\Engine\FBoneTransform) > & OutBoneTransforms )


code: void FindChainBoneNames ( const [FReferenceSkeleton](API\Runtime\Engine\FReferenceSkeleton) & ReferenceSkeleton, [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & ChainBoneNames )


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


code: FTransform GetBodyComponentSpaceTransform ( const [FAnimPhysRigidBody](API\Runtime\Engine\Animation\FAnimPhysRigidBody) & Body, const [USkeletalMeshComponent](API\Runtime\Engine\Components\USkeletalMeshComponent) *const SkelComp ) const


description: Accessors for editor code (mainly for visualization functions)

code: FVector GetBodyLocalJointOffset ( const int32 BodyIndex ) const


description: Get the LOD threshold at which this node is enabled. Node is enabled if the current LOD >= threshold.

code: virtual int32 GetLODThreshold() const


code: int32 GetNumBodies() const


code: const [FAnimPhysRigidBody](API\Runtime\Engine\Animation\FAnimPhysRigidBody) & GetPhysBody ( int32 BodyIndex ) const


description: Override this to indicate thatPreUpdate()should be called on the game thread (usually to gather non-thread safe data) before Update() is called. Note that this is called at load on theUAnimInstanceCDO to avoid needing to call this at runtime. This is called on the game thread.

code: virtual bool HasPreUpdate() const


description: Initialize any bone references you have

code: virtual void InitializeBoneReferences ( const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & RequiredBones )


description: Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


code: static bool IsAnimDynamicsSystemEnabledFor ( int32 InLOD )


code: void InitPhysics ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output )


description: Return true if it is valid to Evaluate

code: virtual bool IsValidToEvaluate ( const [USkeleton](API\Runtime\Engine\Animation\USkeleton) * Skeleton, const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & RequiredBones )


className: MaxTimeDebt

description: Maximum time to consider when accumulating time debt to avoid spiraling.

code: static const float MaxTimeDebt = (1.0f / 60.0f) * 5.0f;


description: For nodes that implement some kind of simulation, return true here soResetDynamics()gets called when things like teleports, time skips etc. occur that might require special handling. Note that this is called at load on theUAnimInstanceCDO to avoid needing to call this at runtime. This is called on the game thread.

code: virtual bool NeedsDynamicReset() const


description: Override this to perform game-thread work prior to non-game thread Update() being called

code: virtual void PreUpdate ( const [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * InAnimInstance )


code: void RequestInitialise ( ETeleportType InTeleportType )


description: Called to help dynamics-based updates to recover correctly from large movements/teleports

code: virtual void ResetDynamics ( ETeleportType InTeleportType )


code: bool ShouldDoPhysicsUpdate() const


code: void UpdateChainPhysicsBodyDefinitions ( const [FReferenceSkeleton](API\Runtime\Engine\FReferenceSkeleton) & ReferenceSkeleton )


description: Interface for derived skeletal controls to implement use this function to update for skeletal control base

code: virtual void UpdateInternal ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


code: void UpdateLimits ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output )


code: void ValidateChainPhysicsBodyDefinitions ( const [FReferenceSkeleton](API\Runtime\Engine\FReferenceSkeleton) & ReferenceSkeleton )


code: struct FAnimNode_AnimDynamics : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

AngularBiasOverride

description: Overridden angular bias value Angular bias is essentially a twist reduction for chain forces and defaults to a value to keep chains stability in check.

AngularDampingOverride

description: Overridden angular damping value. The default is 0.7. Values below 0.7 won't have an effect.

AngularSpringConstant

description: Spring constant to use when calculating angular springs, higher values mean a stronger spring.

bAngularSpring

type: uint8: 1

description: If true the body will attempt to align itself with the specified angular target

bChain

description: Set to true to use the solver to simulate a connected chain

bDoEval

type: uint8:  1

description: If true we will perform bone transform evaluation, otherwise skip - allows visualization of the initial anim state compared to the physics sim

bDoPhysicsUpdateInEditor

description: True by default, if false physics simulation will not update this frame. Used to prevent the rig moving whilst interactively editing parameters with a widget in the viewport.

bDoUpdate

description: If true we will perform physics update, otherwise skip - allows visualization of the initial state of the bodies

bEnableWind

description: Whether or not wind is enabled for the bodies in this simulation

bGravityOverrideInSimSpace

description: If true the gravity override value is defined in simulation space, by default it is in world space

bLinearSpring

description: If true the body will attempt to spring back to its initial position

BoundBone

description: The bone to attach the physics body to, if bChain is true this is the top of the chain

bOverrideAngularBias

description: If true, the override value will be used for the angular bias for bodies in this node.

bOverrideAngularDamping

description: If true, the override value will be used for angular damping

bOverrideLinearDamping

description: If true, the override value will be used for linear damping

bUseGravityOverride

description: Use gravity override value vs gravity scale

bUsePlanarLimit

description: Whether to evaluate planar limits

bUseSphericalLimits

description: Whether to evaluate spherical limits

ChainEnd

description: If bChain is true this is the bottom of the chain, otherwise ignored

ComponentAppliedLinearAccClamp

type: FVector

description: When using non-world-space sim, this is an overall clamp on acceleration derived from ComponentLinearAccScale and ComponentLinearVelScale, to ensure it is not too large.

ComponentLinearAccScale

description: When using non-world-space sim, this controls how much of the components world-space acceleration is passed on to the local-space simulation.

ComponentLinearVelScale

description: When using non-world-space sim, this applies a 'drag' to the bodies in the local space simulation, based on the components world-space velocity.

ExternalForce

description: An external force to apply to all bodies in the simulation when ticked, specified in world space

GravityOverride

description: Gravity Override Value

GravityScale

description: Scale for gravity, higher values increase forces due to gravity

InitTeleportType

type: ETeleportType

description: We can't get clean bone positions unless we are in the evaluate step.

LastSimSpace

type: AnimPhysSimSpac...

description: Cached sim space that we last used.

LinearDampingOverride

description: Overridden linear damping value. The default is 0.7. Values below 0.7 won't have an effect.

LinearSpringConstant

description: Spring constant to use when calculating linear springs, higher values mean a stronger spring.

NumSolverIterationsPostUpdate

description: Number of update passes on the linear and angular limits after we solve the position of the bodies, recommended to be around a quarter of NumSolverIterationsPreUpdate

NumSolverIterationsPreUpdate

description: Number of update passes on the linear and angular limits before we solve the position of the bodies recommended to be four times the value of NumSolverIterationsPostUpdate

PhysicsBodyDefinitions

type: TArray<FAnimPh...

PlanarLimits

description: List of available planar limits for this node

PreviousCompWorldSpaceTM

description: Previous component & actor transforms, used to account for teleports.

RelativeSpaceBone

description: When in BoneRelative sim space, the simulation will use this bone as the origin

RetargetingSettings

type: FRotationRetarg...

description: The settings for rotation retargeting

SimulationSpace

description: The space used to run the simulation

SphericalLimits

description: List of available spherical limits for this node

WindScale

description: Scale to apply to calculated wind velocities in the solver


description: Evaluate the new component-space transforms for the affected bones.

code: virtual void EvaluateSkeletalControl_AnyThread ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output, [TArray](API\Runtime\Core\Containers\TArray)< [FBoneTransform](API\Runtime\Engine\FBoneTransform) > & OutBoneTransforms )


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: For nodes that need some kind of initialization that is not dependent on node relevancy (i.e. it is insufficient or inefficient to use Initialize_AnyThread), return true here. Note that this is called at load on theUAnimInstanceCDO to avoid needing to call this at runtime.

code: virtual bool NeedsOnInitializeAnimInstance() const


description: Called once, from game thread as the parent anim instance is created

code: virtual void OnInitializeAnimInstance ( const [FAnimInstanceProxy](API\Runtime\Engine\Animation\FAnimInstanceProxy) * InProxy, const [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * InAnimInstance )


code: struct FAnimNode_ApplyLimits : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

AngularOffsets

type: TArray< FVector...

AngularRangeLimits

type: TArray<FAngula...


description: Upgrade a node from the output enum to the output bits (change made inFAnimationCustomVersion::BoneDrivenControllerMatchingMaya)

code: void ConvertTargetComponentToBits()


description: Use this function to evaluate for skeletal control base

code: virtual void EvaluateComponentSpaceInternal ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Context )


description: Extracts the value used to drive the target bone or parameter

code: const double ExtractSourceValue ( const FTransform & InCurrentBoneTransform, const FTransform & InRefPoseBoneTransform )


description: Initialize any bone references you have

code: virtual void InitializeBoneReferences ( const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & RequiredBones )


description: Return true if it is valid to Evaluate

code: virtual bool IsValidToEvaluate ( const [USkeleton](API\Runtime\Engine\Animation\USkeleton) * Skeleton, const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & RequiredBones )


description: This is the runtime version of a bone driven controller, which maps part of the state from one bone to another (e.g., 2 * source.x -> target.z)

code: struct FAnimNode_BoneDrivenController : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

bAffectTargetRotationX

description: Affect the X component of rotation on the target bone.

bAffectTargetRotationY

description: Affect the Y component of rotation on the target bone.

bAffectTargetRotationZ

description: Affect the Z component of rotation on the target bone.

bAffectTargetScaleX

description: Affect the X component of scale on the target bone.

bAffectTargetScaleY

description: Affect the Y component of scale on the target bone.

bAffectTargetScaleZ

description: Affect the Z component of scale on the target bone.

bAffectTargetTranslationX

description: Affect the X component of translation on the target bone.

bAffectTargetTranslationY

description: Affect the Y component of translation on the target bone.

bAffectTargetTranslationZ

description: Affect the Z component of translation on the target bone.

bUseRange

description: Whether or not to clamp the driver value and remap it before scaling it.

DestinationMode

type: EDrivenDestinat...

description: Type of destination to drive, currently either bone or morph target.

DrivingCurve

type: TObjectPtr<UCu...

description: Curve used to map from the source attribute to the driven attributes if present (otherwise the Multiplier will be used)

ModificationMode

type: EDrivenBoneModi...

description: The type of modification to make to the destination component(s)

Multiplier

type: float

description: Multiplier to apply to the input value (Note: Ignored when a curve is used)

ParameterName

type: FName

description: Name of Morph Target to drive using the source attribute

RangeMax

type: double

description: Maximum limit of the input value (mapped to RemappedMax, only used when limiting the source range) If this is rotation, the unit is radian

RangeMin

description: Minimum limit of the input value (mapped to RemappedMin, only used when limiting the source range) If this is rotation, the unit is radian

RemappedMax

description: Maximum value to apply to the destination (remapped from the input range) If this is rotation, the unit is radian

RemappedMin

description: Minimum value to apply to the destination (remapped from the input range) If this is rotation, the unit is radian

SourceBone

description: Bone to use as controller input.

SourceComponent

type: TEnumAsByte<EC...

description: Transform component to use as input.

TargetBone

description: Bone to drive using controller input.


description: Controller which implements the CCDIK IK approximation algorithm

code: struct FAnimNode_CCDIK : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

bEnableRotationLimit

type: bool

description: Tolerance for final tip location delta from EffectorLocation

bStartFromTail

description: Toggle drawing of axes to debug joint rotation

EffectorLocation

description: Coordinates for target location of tip bone - if EffectorLocationSpace is bone, this is the offset from Target Bone to use as target location

EffectorLocationSpace

type: TEnumAsByte< en...

description: Reference frame of Effector Transform.

EffectorTarget

type: FBoneSocketTarg...

description: If EffectorTransformSpace is a bone, this is the bone to use.

MaxIterations

description: Maximum number of iterations allowed, to control performance.

RootBone

type: FBoneReference

description: Name of the root bone

TipBone

description: Name of tip bone


code: void ConditionalDebugDraw ( [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI, [USkeletalMeshComponent](API\Runtime\Engine\Components\USkeletalMeshComponent) * MeshComp ) const


description: Resize rotation limit array based on set up

code: void ResizeRotationLimitPerJoints ( int32 NewSize )


description: Constraint node to parent or world transform for rotation/translation

code: struct FAnimNode_Constraint : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

BoneToModify

description: Name of bone to control. This is the main bone chain to modify from.

ConstraintSetup

type: TArray<FConstr...

description: List of constraints

ConstraintWeights

type: TArray< float >

description: Weight data - post edit syncs up to ConstraintSetups


description: Simple controller to copy a bone's transform to another one.

code: struct FAnimNode_CopyBone : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

bCopyRotation

description: If Rotation should be copied

bCopyScale

description: If Scale should be copied

bCopyTranslation

description: If Translation should be copied

ControlSpace

type: TEnumAsByte< EB...

description: Space to convert transforms into prior to copying components

SourceBone

description: Source Bone Name to get transform from


description: Simple controller to copy a transform relative to the ref pose to the target bone, instead of the copy bone node which copies the absolute transform

code: struct FAnimNode_CopyBoneDelta : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

CopyMode

type: CopyBoneDeltaMo...


code: virtual void ConditionalDebugDraw ( [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI, [USkeletalMeshComponent](API\Runtime\Engine\Components\USkeletalMeshComponent) * PreviewSkelMeshComp ) const


description: Evaluate the new component-space transforms for the affected bones.

code: virtual void EvaluateSkeletalControl_AnyThread ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output, [TArray](API\Runtime\Core\Containers\TArray)< [FBoneTransform](API\Runtime\Engine\FBoneTransform) > & OutBoneTransforms )


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: Controller which implements the FABRIK IK approximation algorithm - seehttp://www.academia.edu/9165835/FABRIK_A_fast_iterative_solver_for_the_Inverse_Kinematics_problemfor details

code: struct FAnimNode_Fabrik : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

EffectorTransform

type: FTransform

EffectorTransformSpace

description: Reference frame of Effector Transform.

RootBone

description: Name of the root bone

TipBone

description: Name of tip bone


description: Node to handle re-targeting of Hand IK bone chain. It looks at position in Mesh Space of Left and Right IK bones, and moves Left and Right IK bones to those. based on HandFKWeight. (0 = favor left hand, 1 = favor right hand, 0.5 = equal weight). This is used so characters of different proportions can handle the same props.

code: struct FAnimNode_HandIKRetargeting : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

HandFKWeight

description: Which hand to favor. 0.5 is equal weight for both, 1 = right hand, 0 = left hand.

IKBonesToMove

type: TArray<FBoneRe...

description: IK Bones to move.

LeftHandFK

description: Bone for Left Hand FK

LeftHandIK

description: Bone for Left Hand IK

RightHandFK

description: Bone for Right Hand FK

RightHandIK

description: Bone for Right Hand IK


code: bool AdjustKneeTwist ( [FAnimLegIKData](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimLegIKData) & InLegData )


code: bool DoLegReachIK ( [FAnimLegIKData](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimLegIKData) & InLegData )


code: bool OrientLegTowardsIK ( [FAnimLegIKData](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimLegIKData) & InLegData )


code: struct FAnimNode_LegIK : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

LegsData

type: TArray<FAnimLe...

MaxIterations

description: Max Number of Iterations.

MyAnimInstanceProxy

type: FAnimInstancePr...

ReachPrecision

description: Tolerance for reaching IK Target, in unreal units.


description: Use this function to evaluate for skeletal control base

code: virtual void EvaluateComponentSpaceInternal ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Context )


code: FVector GetCachedTargetLocation() const


description: Return true if it is valid to Evaluate

code: virtual bool IsValidToEvaluate ( const [USkeleton](API\Runtime\Engine\Animation\USkeleton) * Skeleton, const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & RequiredBones )


code: virtual void ModifyPoseFromDeltaRotation ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output, [TArray](API\Runtime\Core\Containers\TArray)< [FBoneTransform](API\Runtime\Engine\FBoneTransform) > & OutBoneTransforms, FTransform & InOutBoneToModifyTransform, const FQuat & DeltaRotation )


description: Interface for derived skeletal controls to implement use this function to update for skeletal control base

code: virtual void UpdateInternal ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: In the future, it would be nice to have more options, -i.e. lag, interpolation speed


description: Simple controller that make a bone to look at the point or another bone

code: struct FAnimNode_LookAt : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

bUseLookUpAxis

description: Whether or not to use Look up axis

InterpolationType

type: TEnumAsByte<EI...

type: FAxis

LookAtClamp

description: Look at Clamp value in degrees - if your look at axis is Z, only X, Y degree of clamp will be used

LookAtLocation

type: FVector

description: Target Offset.

LookAtTarget

description: Target socket to look at.


description: Simple controller that replaces or adds to the translation/rotation of a single bone.

code: struct FAnimNode_ModifyBone : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

BoneToModify

description: Name of bone to control. This is the main bone chain to modify from.

Rotation

type: FRotator

description: New rotation of bone to apply.

RotationMode

description: Whether and how to modify the translation of this bone.

RotationSpace

description: Reference frame to apply Rotation in.

Scale

description: New Scale of bone to apply. This is only worldspace.

ScaleSpace

description: Reference frame to apply Scale in.

Translation

description: New translation of bone to apply.

TranslationSpace

description: Reference frame to apply Translation in.


description: Evaluate the new component-space transforms for the affected bones.


description: Called to gather on-screen debug data. This is called on the game thread.


description: Debugging node that displays the current value of a bone in a specific space.

code: struct FAnimNode_ObserveBone : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

BoneToObserve

description: Name of bone to observe.

bRelativeToRefPose

description: Show the difference from the reference pose?

DisplaySpace

description: Reference frame to display the bone transform in.

Rotation

description: Rotation of the bone being observed.

Scale

description: Scale of the bone being observed.

Translation

description: Translation of the bone being observed.


description: For nodes that need some kind of initialization that is not dependent on node relevancy (i.e. it is insufficient or inefficient to use Initialize_AnyThread), return true here. Note that this is called at load on theUAnimInstanceCDO to avoid needing to call this at runtime.

code: virtual bool NeedsOnInitializeAnimInstance() const


description: Called once, from game thread as the parent anim instance is created

code: virtual void OnInitializeAnimInstance ( const [FAnimInstanceProxy](API\Runtime\Engine\Animation\FAnimInstanceProxy) * InProxy, const [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * InAnimInstance )


code: struct FAnimNode_ResetRoot : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

RootChildren

type: TArray<FCompac...


code: virtual void AddImpulseAtLocation ( FVector Impulse, FVector Location, [FName](API\Runtime\Core\UObject\FName) BoneName )


description: Evaluate incoming component pose.

code: virtual void EvaluateComponentPose_AnyThread ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output )


description: Get the LOD threshold at which this node is enabled. Node is enabled if the current LOD >= threshold.

code: virtual int32 GetLODThreshold() const


code: [UPhysicsAsset](API\Runtime\Engine\PhysicsEngine\UPhysicsAsset) * GetPhysicsAsset() const


description: TEMP: Exposed for use in PhAt as a quick way to get drag handles working with Chaos.

code: virtual [ImmediatePhysics::FSimulation](API\Runtime\Engine\Physics\ImmediatePhysics\FSimulation) * GetSimulation()


description: Override this to indicate thatPreUpdate()should be called on the game thread (usually to gather non-thread safe data) before Update() is called. Note that this is called at load on theUAnimInstanceCDO to avoid needing to call this at runtime. This is called on the game thread.

code: virtual bool HasPreUpdate() const


description: Return true if it is valid to Evaluate


description: Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: For nodes that implement some kind of simulation, return true here soResetDynamics()gets called when things like teleports, time skips etc. occur that might require special handling. Note that this is called at load on theUAnimInstanceCDO to avoid needing to call this at runtime. This is called on the game thread.

code: virtual bool NeedsDynamicReset() const


code: void PostSerialize ( const [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


description: Override this to perform game-thread work prior to non-game thread Update() being called

code: virtual void PreUpdate ( const [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * InAnimInstance )


description: Called to help dynamics-based updates to recover correctly from large movements/teleports

code: virtual void ResetDynamics ( ETeleportType InTeleportType )


description: Update incoming component pose.

code: virtual void UpdateComponentPose_AnyThread ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Interface for derived skeletal controls to implement use this function to update for skeletal control base

code: virtual void UpdateInternal ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Controller that simulates physics based on the physics asset of the skeletal mesh component

code: struct FAnimNode_RigidBody : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

BaseBoneRef

description: Matters if SimulationSpace is BaseBone

bClampLinearTranslationLimitToRefPose

type: uint8:  1

description: Correct for linear tearing on bodies with all axes Locked.

type: bool

description: Whether to allow collisions between two bodies joined by a constraint

bFreezeIncomingPoseOnStart

description: When simulation starts, freeze incoming pose.

bTransferBoneVelocities

description: When simulation starts, transfer previous bone velocities (from animation) to make transition into simulation seamless.

bUseExternalClothCollision

description: If true, kinematic objects will be added to the simulation at runtime to represent any cloth colliders defined for the parent object.

CachedBoundsScale

type: float

description: Scale of cached bounds (vs. actual bounds).

ComponentAppliedLinearAccClamp

description: When using non-world-space sim, this is an overall clamp on acceleration derived from ComponentLinearAccScale and ComponentLinearVelScale, to ensure it is not too large.

ComponentLinearAccScale

description: When using non-world-space sim, this controls how much of the components world-space acceleration is passed on to the local-space simulation.

ComponentLinearVelScale

description: When using non-world-space sim, this applies a 'drag' to the bodies in the local space simulation, based on the components world-space velocity.

EvaluationResetTime

description: If the node is not evaluated for this amount of time (seconds), either because a lower LOD was in use for a while or the component was not visible, reset the simulation to the default pose on the next evaluation.

ExternalForce

description: Applies a uniform external force in world space.

OverlapChannel

type: TEnumAsByte< EC...

description: The channel we use to find static geometry to collide with

OverridePhysicsAsset

type: TObjectPtr<UPh...

description: Physics asset to use. If empty use the skeletal mesh's default physics asset

OverrideWorldGravity

description: Override gravity

SimSpaceSettings

type: FSimSpaceSettin...

description: Settings for the system which passes motion of the simulation's space into the simulation.

SimulationSpace

type: ESimulationSpac...

description: What space to simulate the bodies in. This affects how velocities are generated

SimulationTiming

type: ESimulationTimi...

description: Whether the physics simulation runs synchronously with the node's evaluation or is run in the background until the next frame.

WorldSpaceMinimumScale

description: For world-space simulations, if the magnitude of the component's 3D scale is less than WorldSpaceMinimumScale, do not update the node.


description: Evaluate the new component-space transforms for the affected bones.

code: virtual void EvaluateSkeletalControl_AnyThread ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output, [TArray](API\Runtime\Core\Containers\TArray)< [FBoneTransform](API\Runtime\Engine\FBoneTransform) > & OutBoneTransforms )


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: Simple controller that multiplies scalar value to the translation/rotation/scale of a single bone.

code: struct FAnimNode_RotationMultiplier : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

Multiplier

description: To make these to be easily pin-hookable, I'm not making it struct, but each variable 0.f is invalid, and default

RotationAxisToRefer

type: TEnumAsByte< EB...

SourceBone

type: FBoneReference

description: Source to get transform from

TargetBone

description: Name of bone to control. This is the main bone chain to modify from.


description: Called to cache any bones that this node needs to track (e.g. in aFBoneReference). This is usually called at startup when LOD switches occur. This can be called on any thread.

code: virtual void CacheBones_AnyThread ( const [FAnimationCacheBonesContext](API\Runtime\Engine\Animation\FAnimationCacheBonesContext) & Context )


description: Called to evaluate local-space bones transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void Evaluate_AnyThread ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & Output )


code: double GetInitialChainLength ( [FCompactPose](API\Runtime\Engine\FCompactPose) & InLSPose, [FCSPose](API\Runtime\Engine\FCSPose)< [FCompactPose](API\Runtime\Engine\FCompactPose) > & InCSPose ) const


description: Called to update the state of the graph relative to this node. Generally this should configure any weights (etc.) that could affect the poses that will need to be evaluated. This function is what usually executes EvaluateGraphExposedInputs. This can be called on any thread.

code: virtual void Update_AnyThread ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Scale the length of a chain of bones.

code: struct FAnimNode_ScaleChainLength : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

AlphaScaleBias

type: FInputScaleBias

ChainInitialLength

type: EScaleChainInit...

DefaultChainLength

description: Default chain length, as animated.

InputPose

type: FPoseLink


description: Visual warnings are shown on the node but not logged as an error for build system, use with care The warnigns are cleared at CacheBones_AnyThread and should be added during InitializeBoneReferences

code: void AddBoneRefMissingVisualWarning ( const [FString](API\Runtime\Core\Containers\FString) & BoneName, const [FString](API\Runtime\Core\Containers\FString) & SkeletalMeshName )


description: Allow base to add info to the node debug output

code: void AddDebugNodeData ( [FString](API\Runtime\Core\Containers\FString) & OutDebugData )


code: void AddValidationVisualWarning ( [FText](API\Runtime\Core\Internationalization\FText) ValidationVisualWarning )


code: void ClearValidationVisualWarnings()


description: Called to evaluate component-space bone transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void EvaluateComponentSpace_AnyThread ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output )


description: Evaluate incoming component pose.

code: virtual void EvaluateComponentPose_AnyThread ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output )


description: Use this function to evaluate for skeletal control base

code: virtual void EvaluateComponentSpaceInternal ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Context )


description: Get the alpha of this node.

code: float GetAlpha() const


description: Get the LOD threshold at which this node is enabled. Node is enabled if the current LOD >= threshold.

code: virtual int32 GetLODThreshold() const


code: void InitializeAndValidateBoneRef ( [FBoneReference](API\Runtime\Engine\Animation\FBoneReference) & BoneRef, const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & RequiredBones )


description: Initialize any bone references you have

code: virtual void InitializeBoneReferences ( const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & RequiredBones )


description: Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: Return true if it is valid to Evaluate

code: virtual bool IsValidToEvaluate ( const [USkeleton](API\Runtime\Engine\Animation\USkeleton) * Skeleton, const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & RequiredBones )


description: Set the alpha of this node.

code: void SetAlpha ( float InAlpha )


description: Update incoming component pose.

code: virtual void UpdateComponentPose_AnyThread ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Interface for derived skeletal controls to implement use this function to update for skeletal control base

code: virtual void UpdateInternal ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


code: virtual void Update_AnyThread ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


code: struct FAnimNode_SkeletalControlBase : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

Alpha

description: Current strength of the skeletal control.

AlphaBoolBlend

type: FInputAlphaBool...

AlphaCurveName

type: FName

AlphaInputType

type: EAnimAlphaInput...

AlphaScaleBiasClamp

type: FInputScaleBias...

ComponentPose

type: FComponentSpace...

description: Input link.

ForwardedPose

type: FCSPose<FCompa...

description: Forwarded pose data from the wired node which current node's skeletal control is not applied yet

LODThreshold

description: Max LOD that this node is allowed to run For example if you have LODThreshold to be 2, it will run until LOD 2 (based on 0 index) when the component LOD becomes 3, it will stop update/evaluate currently transition would be issue and that has to be re-visited


description: Build spline from reference pose

code: void BuildBoneSpline ( const [FReferenceSkeleton](API\Runtime\Engine\FReferenceSkeleton) & RefSkeleton )


description: Evaluate the new component-space transforms for the affected bones.

code: virtual void EvaluateSkeletalControl_AnyThread ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output, [TArray](API\Runtime\Core\Containers\TArray)< [FBoneTransform](API\Runtime\Engine\FBoneTransform) > & OutBoneTransforms )


description: Use our linear approximation to determine the earliest intersection with a sphere

code: float FindParamAtFirstSphereIntersection ( const FVector & InOrigin, float InRadius, int32 & StartingLinearIndex )


description: Get specified handle transform (in component space) for the spline

code: FTransform GetControlPoint ( int32 TransformIndex ) const


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: Build bone references & reallocate transforms from the supplied ref skeleton

code: void GatherBoneReferences ( const [FReferenceSkeleton](API\Runtime\Engine\FReferenceSkeleton) & RefSkeleton )


description: Get the number of spline transforms we are using

code: int32 GetNumControlPoints() const


description: Read-only access to spline curves

code: const [FSplineCurves](API\Runtime\Engine\Components\FSplineCurves) & GetSplineCurves() const


description: Read-only access to transformed curves

code: const [FSplineCurves](API\Runtime\Engine\Components\FSplineCurves) & GetTransformedSplineCurves() const


description: Get transformed spline point (in component space) for the spline

code: FTransform GetTransformedSplinePoint ( int32 TransformIndex ) const


description: Called once, from game thread as the parent anim instance is created

code: virtual void OnInitializeAnimInstance ( const [FAnimInstanceProxy](API\Runtime\Engine\Animation\FAnimInstanceProxy) * InProxy, const [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * InAnimInstance )


description: For nodes that need some kind of initialization that is not dependent on node relevancy (i.e. it is insufficient or inefficient to use Initialize_AnyThread), return true here. Note that this is called at load on theUAnimInstanceCDO to avoid needing to call this at runtime.

code: virtual bool NeedsOnInitializeAnimInstance() const


description: Set specified handle transform (in component space) for the spline

code: void SetControlPoint ( int32 TransformIndex, const FTransform & InTransform )


description: Set specified handle location (in component space) for the spline

code: void SetControlPointLocation ( int32 TransformIndex, const FVector & InLocation )


description: Set specified handle rotation (in component space) for the spline

code: void SetControlPointRotation ( int32 TransformIndex, const FQuat & InRotation )


description: Set specified handle scale (in component space) for the spline

code: void SetControlPointScale ( int32 TransformIndex, const FVector & InScale )


description: Transform the spline using our control points

code: void TransformSpline()


description: Called to cache any bones that this node needs to track (e.g. in aFBoneReference). This is usually called at startup when LOD switches occur. This can be called on any thread.

code: virtual void CacheBones_AnyThread ( const [FAnimationCacheBonesContext](API\Runtime\Engine\Animation\FAnimationCacheBonesContext) & Context )


code: struct FAnimNode_SplineIK : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

bAutoCalculateSpline

type: bool

description: The number of points in the spline if we are specifying it directly

BoneAxis

type: ESplineBoneAxis

description: Axis of the controlled bone (ie the direction of the spline) to use as the direction for the curve.

ControlPoints

type: TArray< FTransf...

description: Transforms applied to spline points

EndBone

description: Name of bone at the end of the spline chain.

Offset

type: float

description: The distance along the spline from the start from which bones are constrained

PointCount

description: The number of points in the spline if we are not auto-calculating

Roll

description: Overall roll of the spline, applied on top of other rotations along the direction of the spline

StartBone

description: Name of root bone from which the spline extends

Stretch

description: The maximum stretch allowed when fitting bones to the spline.

TwistBlend

type: FAlphaBlend

description: How to interpolate twist along the length of the spline

TwistEnd

description: The twist of the end bone. Twist is interpolated along the spline according to Twist Blend.

TwistStart

description: The twist of the start bone. Twist is interpolated along the spline according to Twist Blend.


description: Evaluate the new component-space transforms for the affected bones.

code: virtual void EvaluateSkeletalControl_AnyThread ( [FComponentSpacePoseContext](API\Runtime\Engine\Animation\FComponentSpacePoseContext) & Output, [TArray](API\Runtime\Core\Containers\TArray)< [FBoneTransform](API\Runtime\Engine\FBoneTransform) > & OutBoneTransforms )


description: Override this to indicate thatPreUpdate()should be called on the game thread (usually to gather non-thread safe data) before Update() is called. Note that this is called at load on theUAnimInstanceCDO to avoid needing to call this at runtime. This is called on the game thread.

code: virtual bool HasPreUpdate() const


description: Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: Return true if it is valid to Evaluate

code: virtual bool IsValidToEvaluate ( const [USkeleton](API\Runtime\Engine\Animation\USkeleton) * Skeleton, const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & RequiredBones )


description: Override this to perform game-thread work prior to non-game thread Update() being called

code: virtual void PreUpdate ( const [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * InAnimInstance )


description: Interface for derived skeletal controls to implement use this function to update for skeletal control base

code: virtual void UpdateInternal ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Simple controller that replaces or adds to the translation/rotation of a single bone.

code: struct FAnimNode_SpringBone : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

bHadValidStrength

type: uint8:  1

description: Did we have a non-zero ControlStrength last frame.

bLimitDisplacement

description: Limit the amount that a bone can stretch from its ref-pose length.

BoneLocation

type: FVector

description: World-space location of the bone.

BoneVelocity

description: World-space velocity of the bone.

bRotateX

description: If true take the spring calculation for rotation in X

bRotateY

description: If true take the spring calculation for rotation in Y

bRotateZ

description: If true take the spring calculation for rotation in Z

bTranslateX

description: If true take the spring calculation for translation in X

bTranslateY

description: If true take the spring calculation for translation in Y

bTranslateZ

description: If true take the spring calculation for translation in Z

ErrorResetThresh

type: double

description: If spring stretches more than this, reset it. Useful for catching teleports etc

FixedTimeStep

description: Internal use - Current timestep

LocalBoneTransform

description: Cache of previous frames local bone transform so that when we cannot simulate (timestep == 0) we can still update bone location

MaxDisplacement

description: If bLimitDisplacement is true, this indicates how long a bone can stretch beyond its length in the ref-pose.

OwnerVelocity

description: Velocity of the owning actor

RemainingTime

description: Internal use - Amount of time we need to simulate.

SpringBone

description: Name of bone to control. This is the main bone chain to modify from.

SpringDamping

description: Damping of spring

SpringStiffness

description: Stiffness of spring

TimeDilation

description: Internal use - Current time dilation


description: Trail Controller

code: struct FAnimNode_Trail : public [FAnimNode_SkeletalControlBase](API\Runtime\AnimGraphRuntime\BoneControllers\FAnimNode_SkeletalControlBase)

bActorSpaceFakeVel

type: uint8: 1

description: Whether 'fake' velocity should be applied in actor or world space.

BaseJoint

type: FBoneReference

description: Base Joint to calculate velocity from. If none, it will use Component's World Transform. .

bEditorDebugEnabled

description: This is used by selection node. Use this transient flag.

bEnableDebug

description: Enable Debug in the PIE. This doesn't work in game

bInvertChainBoneAxis

description: Invert the direction specified in ChainBoneAxis.

bReorientParentToChild

description: Fix up rotation to face child for the parent

bShowBaseMotion

description: Show Base Motion

bShowLimit

description: Show Planar Limits

bShowTrailLocation

description: Show Trail Location

bUsePlanarLimit

description: Whether to evaluate planar limits

ChainBoneAxis

type: TEnumAsByte<EA...

description: Axis of the bones to point along trail.

ChainLength

description: Number of bones above the active one in the hierarchy to modify. ChainLength should be at least 2.

DebugLifeTime

description: Debug Life Time

FakeVelocity

description: 'Fake' velocity applied to bones.

LastBoneRotationAnimAlphaBlend

description: How to set last bone rotation.

MaxDeltaTime

description: To avoid hitches causing stretch of trail, you can use MaxDeltaTime to clamp the long delta time.

OldBaseTransform

type: FTransform

description: LocalToWorld used last frame, used for building transform between frames.

PerJointTrailData

type: TArray<FPerJoi...

description: Per Joint Trail Set up

PlanarLimits

type: TArray<FAnimPh...

description: List of available planar limits for this node

PlaneDebugColors

type: TArray<FColor...

RotationLimits

type: TArray<FRotati...

RotationOffsets

type: TArray< FVector...

StretchLimit

description: If bLimitStretch is true, this indicates how long a bone can stretch beyond its length in the ref-pose.

ThisTimstep

description: Internal use - we need the timestep to do the relaxation in CalculateNewBoneTransforms.

TrailBone

description: Reference to the active bone in the hierarchy to modify.

TrailBoneLocations

description: Component-space locations of the bones from last frame.

TrailDebugColors

description: Debug transient data to draw debug better

TrailRelaxationSpeed

type: FRuntimeFloatCu...

description: How quickly we 'relax' the bones to their animated positions.


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )