UAnimGraphNode_Base

This is the base class for any animation graph nodes that generate or consume an animation pose in the animation blend graph.

Windows
MacOS
Linux

Inheritance Hierarchy

UObjectBase

UObjectBaseUtility

UObject

UEdGraphNode

UK2Node

UAnimGraphNode_Base

UAnimGraphNode_ApplyAdditive

UAnimGraphNode_ApplyMeshSpaceAdditive

UAnimGraphNode_AssetPlayerBase

UAnimGraphNode_BlendSpaceBase

UAnimGraphNode_AimOffsetLookAt

UAnimGraphNode_BlendSpaceEvaluator

UAnimGraphNode_BlendSpacePlayer

UAnimGraphNode_RotationOffsetBlendSpace

UAnimGraphNode_PoseByName

UAnimGraphNode_PoseHandler

UAnimGraphNode_PoseBlendNode

UAnimGraphNode_PoseDriver

UAnimGraphNode_SequenceEvaluator

UAnimGraphNode_SequencePlayer

UAnimGraphNode_BlendBoneByChannel

UAnimGraphNode_BlendListBase

UAnimGraphNode_BlendListByBool

UAnimGraphNode_BlendListByEnum

UAnimGraphNode_BlendListByInt

UAnimGraphNode_LayeredBoneBlend

UAnimGraphNode_ComponentToLocalSpace

UAnimGraphNode_CopyPoseFromMesh

UAnimGraphNode_CurveSource

UAnimGraphNode_CustomProperty

UAnimGraphNode_LinkedAnimGraphBase

UAnimGraphNode_LinkedAnimGraph

UAnimGraphNode_LinkedAnimLayer

UAnimGraphNode_Inertialization

UAnimGraphNode_LinkedInputPose

UAnimGraphNode_LocalToComponentSpace

UAnimGraphNode_MakeDynamicAdditive

UAnimGraphNode_MeshRefPose

UAnimGraphNode_ModifyCurve

UAnimGraphNode_MultiWayBlend

UAnimGraphNode_PoseSnapshot

UAnimGraphNode_RandomPlayer

UAnimGraphNode_RefPoseBase

UAnimGraphNode_IdentityPose

UAnimGraphNode_LocalRefPose

UAnimGraphNode_Root

UAnimGraphNode_RotateRootBone

UAnimGraphNode_SaveCachedPose

UAnimGraphNode_ScaleChainLength

UAnimGraphNode_SkeletalControlBase

UAnimGraphNode_AnimDynamics

UAnimGraphNode_ApplyLimits

UAnimGraphNode_BoneDrivenController

UAnimGraphNode_CCDIK

UAnimGraphNode_Constraint

UAnimGraphNode_CopyBone

UAnimGraphNode_CopyBoneDelta

UAnimGraphNode_Fabrik

UAnimGraphNode_HandIKRetargeting

UAnimGraphNode_LegIK

UAnimGraphNode_LookAt

UAnimGraphNode_ModifyBone

UAnimGraphNode_ObserveBone

UAnimGraphNode_ResetRoot

UAnimGraphNode_RigidBody

UAnimGraphNode_RigidBody_Chaos

UAnimGraphNode_RotationMultiplier

UAnimGraphNode_SplineIK

UAnimGraphNode_SpringBone

UAnimGraphNode_Trail

UAnimGraphNode_TwistCorrectiveNode

UAnimGraphNode_TwoBoneIK

UAnimGraphNode_WheelHandler

UAnimGraphNode_Slot

UAnimGraphNode_StateMachineBase

UAnimGraphNode_StateMachine

UAnimGraphNode_StateResult

UAnimGraphNode_CustomTransitionResult

UAnimGraphNode_SteamVRInputAnimPose

UAnimGraphNode_SteamVRSetWristTransform

UAnimGraphNode_TransitionPoseEvaluator

UAnimGraphNode_TransitionResult

UAnimGraphNode_TwoWayBlend

UAnimGraphNode_UseCachedPose

References

Module

AnimGraph

Header

/Engine/Source/Editor/AnimGraph/Classes/AnimGraphNode_Base.h

Include

#include "AnimGraphNode_Base.h"

Syntax

class UAnimGraphNode_Base : public UK2Node

Remarks

This is the base class for any animation graph nodes that generate or consume an animation pose in the animation blend graph.

Any concrete implementations will be paired with a runtime graph node derived from FAnimNode_Base

Variables

Name Description

Public variable

EBlueprintUsage

 

BlueprintUsage

Protected variable

friend

 

FAnimBlueprintCompilerContext

Protected variable

friend

 

FAnimGraphNodeDetails

Protected variable

FOnNodeTitleCha...

 

NodeTitleChangedEvent

Protected variable

FOnNodeProperty...

 

PropertyChangeEvent

Public variable

TArray< FOption...

 

ShowPinForProperties

Constructors

Name Description

Public function

UAnimGraphNode_Base

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function Virtual

void

 

BakeDataDuringCompilation

(
    FCompilerResultsLog& MessageLog
)

Gives each visual node a chance to update the node template before it is inserted in the compiled class.

Public function Virtual

void

 

CopyNodeDataToPreviewNode

(
    FAnimNode_Base* InPreviewNode
)

Called to propagate data from the internal node to the preview in Persona.

Public function Virtual

void

 

CopyPinDefaultsToNodeData

(
    UEdGraphPin* InPin
)

Called after editing a default value to update internal node from pin defaults.

Public function Virtual

void

 

CreateOutputPins()

Create any output pins necessary for this node.

Protected function Virtual

void

 

CreatePinsForPoseLink

(
    FProperty* PoseProperty,
    int32 ArrayIndex
)

This will be called when a pose link is found, and can be called with PoseProperty being either of:

Public function Virtual

void

 

CustomizeDetails

(
    IDetailLayoutBuilder& DetailBuilde...
)

Can customize details tab

Public function Virtual Const

void

 

CustomizePinData

(
    UEdGraphPin* Pin,
    FName SourcePropertyName,
    int32 ArrayIndex
)

Customize pin data based on the input

Public function Virtual Const

bool

 

DoesSupportTimeForTransitionGetter()

BEGIN Interface to support transition getter if you return true for DoesSupportExposeTimeForTransitionGetter you should implement all below functions

Public function Virtual Const

void

 

Draw

(
    FPrimitiveDrawInterface* PDI,
    USkeletalMeshComponent* Previe...
)

Draw function for supporting visualization.

Public function Virtual Const

void

 

DrawCanvas

(
    FViewport& InViewport,
    FSceneView& View,
    FCanvas& Canvas,
    USkeletalMeshComponent* Previe...
)

Canvas draw function to draw to viewport.

Public function Const

FAnimNode_Ba...

 

FindDebugAnimNode

(
    USkeletalMeshComponent* Previe...
)

Try to find the preview node instance for this anim graph node

Public function Const

NodeType ...

 

GetActiveInstanceNode

(
    UObject* AnimInstanceObject
)

Public function Virtual Const

void

 

GetAllAnimationSequencesReferred

(
    TArray< UAnimationAsset* >& A...
)

Populate the supplied arrays with the currently reffered to animation assets.

Public function Virtual Const

UAnimationAs...

 

GetAnimationAsset()

Public function Const

UAnimBluepri...

 

GetAnimBlueprint()

Get the animation blueprint to which this node belongs

Public function Virtual Const

FEditorModeI...

 

GetEditorMode()

Override this function to push an editor mode when this node is selected

Protected function Const

FStructPrope...

 

GetFNodeProperty()

Gets the animation FNode property represented by this ed graph node.

Protected function Const

UScriptStruc...

 

GetFNodeType()

Gets the animation FNode type represented by this ed graph node.

Protected function Virtual

FPoseLinkMap...

 

GetLinkIDLocation

(
    const UScriptStruct* NodeType,
    UEdGraphPin* InputLinkPin
)

Public function Virtual Const

FString

 

GetNodeCategory()

Gets the menu category this node belongs in.

Public function Virtual Const

void

 

GetOnScreenDebugInfo

(
    TArray< FText >& DebugInfo,
    FAnimNode_Base* RuntimeAnimNod...,
    USkeletalMeshComponent* Previe...
)

Protected function Virtual Const

void

 

GetPinAssociatedProperty

(
    const UScriptStruct* NodeType,
    const UEdGraphPin* InputPin,
    FProperty*& OutProperty,
    int32& OutIndex
)

Get the property (and possibly array index) associated with the supplied pin

Public function Virtual Const

const TCHAR ...

 

GetTimePropertyName()

Public function Virtual Const

UScriptStruc...

 

GetTimePropertyStruct()

Public function Const

void

 

HandleAnimReferenceCollection

(
    UAnimationAsset* AnimAsset,
    TArray< UAnimationAsset* >& A...
)

Helper function for GetAllAnimationSequencesReferred.

Public function

void

 

HandleAnimReferenceReplacement

(
    AssetType*& OriginalAsset,
    const TMap< UAnimationAsset*, ...
)

Helper function for ReplaceReferredAnimations.

Protected function

void

 

InternalPinCreation

(
    TArray< UEdGraphPin* >* O...
)

Allocates or reallocates pins.

Public function Const

bool

 

IsPinExposedAndLinked

(
    const FString& InPinName,
    const EEdGraphPinDirection Directio...
)

Helper function to check whether a pin is valid and linked to something else in the graph

Public function Virtual Const

bool

 

IsSinkNode()

Is this node a sink that has no pose outputs?

Public function

FOnNodePrope...

 

OnNodePropertyChanged()

Public function Virtual

void

 

OnNodeSelected

(
    bool bInIsSelected,
    FEditorModeTools& InModeTools,
    FAnimNode_Base* InRuntimeNode
)

Selection notification callback.

Public function

FOnNodeTitle...

 

OnNodeTitleChangedEvent()

Public function Virtual Const

void

 

PostProcessPinName

(
    const UEdGraphPin* Pin,
    FString& DisplayName
)

Give the node a chance to change the display name of a pin.

Public function Virtual

void

 

ReplaceReferredAnimations

(
    const TMap< UAnimationAsset*, ...
)

Replace references to animations that exist in the supplied maps.

Public function Virtual Const

EAnimAssetHa...

 

SupportsAssetClass

(
    const UClass* AssetClass
)

Returns whether this node supports the supplied asset class

Public function Virtual

bool

 

UsingCopyPoseFromMesh()

If using CopyPoseFromMesh, the AnimBlueprint Compiler will cache this off for optimizations.

Public function Virtual

void

 

ValidateAnimNodeDuringCompilation

(
    USkeleton* ForSkeleton,
    FCompilerResultsLog& MessageLog
)

Gives each visual node a chance to do final validation before it's node is harvested for use at runtime.

Public function Virtual

void

 

ValidateAnimNodePostCompile

(
    FCompilerResultsLog& MessageLog,
    UAnimBlueprintGeneratedClass* ...,
    int32 CompiledNodeIndex
)

Gives each visual node a chance to validate that they are still valid in the context of the compiled class, giving a last shot at error or warning generation after primary compilation is finished.

Overridden from UK2Node

Name Description

Public function Virtual Const

bool

 

CanPlaceBreakpoints()

Returns whether this node can have breakpoints placed on it in the debugger

Public function Virtual Const

void

 

GetMenuActions

Replacement for GetMenuEntries().

Public function Virtual Const

FText

 

GetMenuCategory()

Override to provide a default category for specific node types to be listed under.

Public function Virtual Const

void

 

GetNodeAttributes

(
    TArray< TKeyValuePair< FString, FSt...
)

This function returns an arbitrary number of attributes that describe this node for analytics events

Public function Virtual Const

bool

 

NodeCausesStructuralBlueprintChange()

Return true if adding/removing this node requires calling MarkBlueprintAsStructurallyModified on the Blueprint

Public function Virtual

void

 

ReallocatePinsDuringReconstruction

(
    TArray< UEdGraphPin* >& OldPi...
)

Reallocate pins during reconstruction; by default ignores the old pins and calls AllocateDefaultPins() If you override this to create additional pins you likely need to call RestoreSplitPins to restore any pins that have been split (e.g. a vector pin split into its components)

Public function Virtual Const

bool

 

ShouldShowNodeProperties()

Return whether the node's properties display in the blueprint details panel

Overridden from UEdGraphNode

Name Description

Public function Virtual

void

 

AllocateDefaultPins()

Allocate default pins for a given node, based only the NodeType, which should already be filled in.

Public function Virtual Const

bool

 

CanCreateUnderSpecifiedSchema

(
    const UEdGraphSchema* DesiredS...
)

Can this node be created under the specified schema.

Public function Virtual Const

bool

 

CanJumpToDefinition()

Returns true if it is possible to jump to the definition of this node (e.g., if it's a variable get or a function call)

Public function Virtual Const

FString

 

GetDocumentationLink()

Returns the link used for external documentation for the graph node

Public function Virtual Const

UObject *...

 

GetJumpTargetForDoubleClick()

By default return any animation assets we have.

Public function Virtual Const

FLinearColor

 

GetNodeTitleColor()

Gets the draw color of a node's title bar

Public function Virtual Const

void

 

GetPinHoverText

(
    const UEdGraphPin& Pin,
    FString& HoverTextOut
)

Fetch the hover text for a pin when the graph is being edited.

Public function Virtual

FString

 

GetPinMetaData

(
    FName InPinName,
    FName InKey
)

Return the requested metadata for the pin if there is any

Public function Virtual Const

void

 

JumpToDefinition()

Jump to the definition of this node (should only be called if CanJumpToDefinition() return true)

Public function Virtual

void

 

PinDefaultValueChanged

(
    UEdGraphPin* Pin
)

Called when the DefaultValue of one of the pins of this node is changed in the editor

Public function Virtual Const

bool

 

ShowPaletteIconOnNode()

Should we show the Palette Icon for this node on the node title

Overridden from UObject

Name Description

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PreEditChange

(
    FProperty* PropertyAboutToChan...
)

This is called when a property is about to be modified externally

Classes

Name

Description

Public class

FOnNodePropertyChangedEvent

Event that observers can bind to so that they are notified about changes made to this node through the property system

Public class

FOnNodeTitleChangedEvent

Event that is broadcast to inform observers that the node title has changed The default SAnimationGraphNode uses this to invalidate cached node title text

Deprecated Functions

Name Description

Public function Virtual Const

void

 

GetOnScreenDebugInfo

(
    TArray< FText >& DebugInfo,
    USkeletalMeshComponent* Previe...
)

Please use GetOnScreenDebugInfo(TArray& DebugInfo, FAnimNode_Base* RuntimeAnimNode, USkeletalMeshComponent* PreviewSkelMeshComp)

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss