Navigation
API > API/Editor > API/Editor/AnimGraph
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
| Name | UAnimGraphNode_Base |
| Type | class |
| Header File | /Engine/Source/Editor/AnimGraph/Public/AnimGraphNode_Base.h |
| Include Path | #include "AnimGraphNode_Base.h" |
Syntax
UCLASS (Abstract, BlueprintType)
class UAnimGraphNode_Base : public UK2Node
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UEdGraphNode → UK2Node → UAnimGraphNode_Base
Derived Classes
UAnimGraphNode_Base derived class hierarchy
- UAnimGraphNode_AssetPlayerBase
- UAnimGraphNode_SkeletalControlBase
- UAnimGraphNode_ApplyAdditive
- UAnimGraphNode_ApplyMeshSpaceAdditive
- UAnimGraphNode_BlendBoneByChannel
- UAnimGraphNode_BlendListBase
- UAnimGraphNode_BlendSpaceGraphBase
- UAnimGraphNode_BlendSpaceSampleResult
- UAnimGraphNode_BlendStackInput
- UAnimGraphNode_ComponentToLocalSpace
- UAnimGraphNode_CopyPoseFromMesh
- UAnimGraphNode_CurveSource
- UAnimGraphNode_CustomProperty
- UAnimGraphNode_DeadBlending
- UAnimGraphNode_Inertialization
- UAnimGraphNode_LinkedInputPose
- UAnimGraphNode_LiveLinkPose
- UAnimGraphNode_LocalToComponentSpace
- UAnimGraphNode_MakeDynamicAdditive
- UAnimGraphNode_MeshRefPose
- UAnimGraphNode_Mirror
- UAnimGraphNode_ModifyCurve
- UAnimGraphNode_MultiWayBlend
- UAnimGraphNode_OffsetRootBone
- UAnimGraphNode_OverrideRootMotion
- UAnimGraphNode_PoseSearchHistoryCollector_Base
- UAnimGraphNode_PoseSnapshot
- UAnimGraphNode_RandomPlayer
- UAnimGraphNode_RefPoseBase
- UAnimGraphNode_Root
- UAnimGraphNode_RotateRootBone
- UAnimGraphNode_SaveCachedPose
- UAnimGraphNode_ScaleChainLength
- UAnimGraphNode_SequencerMixerTarget
- UAnimGraphNode_Slot
- UAnimGraphNode_StateMachineBase
- UAnimGraphNode_StateResult
- UAnimGraphNode_TransitionPoseEvaluator
- UAnimGraphNode_TransitionResult
- UAnimGraphNode_TwoWayBlend
- UAnimGraphNode_UseCachedPose
- UAnimGraphNode_WarpTest
- UAnimGraphNode_RemapCurves
- UAnimGraphNode_RemapCurvesFromMesh
- UAnimGraphNode_RetargetPoseFromMesh
- UAnimGraphNode_RigLogic
- UAnimGraphNode_RigMapper
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UAnimGraphNode_Base
(
const FObjectInitializer& ObjectInitializer |
AnimGraphNode_Base.h |
Classes
| Name | Remarks |
|---|---|
| FOnNodePropertyChangedEvent | Event that observers can bind to so that they are notified about changes made to this node through the property system |
| 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 |
| FPinVisibilityChangedEvent | Event that observers can bind to so that they are notified about changes to pin visibility. |
Structs
| Name | Remarks |
|---|---|
| FAnimPropertyBindingWidgetArgs | Arguments used to construct a property binding widget. |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FNodeAttributeArray | TArray< FName, TInlineAllocator< 4 > > | AnimGraphNode_Base.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AlwaysDynamicProperties | TSet< FName > | Properties marked as always dynamic, so they can be set externally | AnimGraphNode_Base.h | |
| BecomeRelevantFunction | FMemberReference | Function called when the node becomes relevant, meaning it goes from having no weight to any weight. | AnimGraphNode_Base.h |
|
| BlueprintUsage | EBlueprintUsage | AnimGraphNode_Base.h |
|
|
| InitialUpdateFunction | FMemberReference | Function called before the node is updated for the first time. | AnimGraphNode_Base.h |
|
| ShowPinForProperties | TArray< FOptionalPinFromProperty > | AnimGraphNode_Base.h |
|
|
| UpdateFunction | FMemberReference | Function called when the node is updated. | AnimGraphNode_Base.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Binding | TObjectPtr< UAnimGraphNodeBinding > | Bindings for pins that this node exposes. | AnimGraphNode_Base.h |
|
| Tag | FName | Optional reference tag name. If this is set then this node can be referenced from elsewhere in this animation blueprint using an anim node reference. | AnimGraphNode_Base.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BakeDataDuringCompilation
(
FCompilerResultsLog& MessageLog |
Gives each visual node a chance to update the node template before it is inserted in the compiled class. | AnimGraphNode_Base.h | |
virtual void CopyNodeDataToPreviewNode
(
FAnimNode_Base* InPreviewNode |
Called to propagate data from the internal node to the preview in Persona. | AnimGraphNode_Base.h | |
virtual void CopyPinDefaultsToNodeData
(
UEdGraphPin* InPin |
Called after editing a default value to update internal node from pin defaults. | AnimGraphNode_Base.h | |
virtual void CreateOutputPins() |
Create any output pins necessary for this node. | AnimGraphNode_Base.h | |
virtual void CustomizeDetails
(
IDetailLayoutBuilder& DetailBuilder |
Can customize details tab | AnimGraphNode_Base.h | |
virtual void CustomizePinData
(
UEdGraphPin* Pin, |
Customize pin data based on the input | AnimGraphNode_Base.h | |
virtual bool DoesSupportTimeForTransitionGetter() |
BEGIN Interface to support transition getter if you return true for DoesSupportExposeTimeForTransitionGetter you should implement all below functions | AnimGraphNode_Base.h | |
virtual void Draw
(
FPrimitiveDrawInterface* PDI, |
Draw function called on nodes that are selected and / or have a pose watch enabled. | AnimGraphNode_Base.h | |
virtual void Draw
(
FPrimitiveDrawInterface* PDI, |
Draw function for supporting visualization. | AnimGraphNode_Base.h | |
virtual void DrawCanvas
(
FViewport& InViewport, |
Canvas draw function to draw to viewport. | AnimGraphNode_Base.h | |
FAnimNode_Base * FindDebugAnimNode
(
USkeletalMeshComponent* PreviewSkelMeshComp |
Try to find the preview node instance for this anim graph node | AnimGraphNode_Base.h | |
NodeType * GetActiveInstanceNode
(
UObject* AnimInstanceObject |
AnimGraphNode_Base.h | ||
virtual void GetAllAnimationSequencesReferred
(
TArray< UAnimationAsset* >& AnimAssets |
Populate the supplied arrays with the currently reffered to animation assets. | AnimGraphNode_Base.h | |
virtual UAnimationAsset * GetAnimationAsset() |
AnimGraphNode_Base.h | ||
virtual TSubclassOf< UAnimationAsset > GetAnimationAssetClass() |
AnimGraphNode_Base.h | ||
UAnimBlueprint * GetAnimBlueprint() |
Get the animation blueprint to which this node belongs | AnimGraphNode_Base.h | |
const UAnimGraphNodeBinding * GetBinding() |
Get the bindings for this node. | AnimGraphNode_Base.h | |
| Gets editor information for all the bound anim node functions (category metadata string, member variable's name) Used by SAnimGraphNode to display all bound functions of an anim node. | AnimGraphNode_Base.h | ||
| Get the currently-debugged runtime anim node (in the anim BP debugger that this node is currently being edited in) | AnimGraphNode_Base.h | ||
TNodeType * GetDebuggedAnimNode () |
Get the currently-debugged runtime anim node of a specified type (in the anim BP debugger that this node is currently being edited in) | AnimGraphNode_Base.h | |
virtual FEditorModeID GetEditorMode() |
Override this function to push an editor mode when this node is selected | AnimGraphNode_Base.h | |
FAnimNode_Base * GetFNode() |
Get the runtime anim node that we template. | AnimGraphNode_Base.h | |
FStructProperty * GetFNodeProperty() |
Gets the animation FNode property represented by this ed graph node. | AnimGraphNode_Base.h | |
UScriptStruct * GetFNodeType() |
Gets the animation FNode type represented by this ed graph node. | AnimGraphNode_Base.h | |
virtual void GetInputLinkAttributes
(
FNodeAttributeArray& OutAttributes |
Get the named attribute types that this node takes (absorbs) as inputs. Other attributes are assumed to 'pass through' this node. | AnimGraphNode_Base.h | |
UAnimGraphNodeBinding * GetMutableBinding() |
Get the mutable bindings for this node. | AnimGraphNode_Base.h | |
virtual FString GetNodeCategory() |
Gets the menu category this node belongs in. | AnimGraphNode_Base.h | |
virtual void GetOnScreenDebugInfo
(
TArray< FText >& DebugInfo, |
Function to collect strings from nodes to display in the viewport. | AnimGraphNode_Base.h | |
virtual void GetOutputLinkAttributes
(
FNodeAttributeArray& OutAttributes |
Get the named attribute types that this node provides as outputs. Other attributes are assumed to 'pass through' this node. | AnimGraphNode_Base.h | |
virtual FProperty * GetPinProperty
(
FName InPinName |
AnimGraphNode_Base.h | ||
FProperty * GetPinProperty
(
const UEdGraphPin* InPin |
Get the property corresponding to a pin. For array element pins returns the outer array property. Returns null if a property cannot be found. | AnimGraphNode_Base.h | |
virtual const UAnimGraphNode_Base * GetProxyNodeForAttributes () |
Some anim graph nodes can act as proxies to outer nodes (e.g. sink nodes in nested graphs). | AnimGraphNode_Base.h | |
FName GetTag() |
Get the tag for this node, if any. | AnimGraphNode_Base.h | |
virtual const TCHAR * GetTimePropertyName() |
AnimGraphNode_Base.h | ||
virtual UScriptStruct * GetTimePropertyStruct() |
AnimGraphNode_Base.h | ||
void HandleAnimReferenceCollection
(
UAnimationAsset* AnimAsset, |
Helper function for GetAllAnimationSequencesReferred. | AnimGraphNode_Base.h | |
void HandleAnimReferenceReplacement
(
TObjectPtr< AssetType >& OriginalAsset, |
AnimGraphNode_Base.h | ||
void HandleAnimReferenceReplacement
(
AssetType*& OriginalAsset, |
Helper function for ReplaceReferredAnimations | AnimGraphNode_Base.h | |
virtual bool HasBinding
(
FName InPropertyName |
Check whether the specified property is bound via PropertyBindings. | AnimGraphNode_Base.h | |
virtual bool IsPinBindable
(
const UEdGraphPin* InPin |
Check whether the named pin is bindable. | AnimGraphNode_Base.h | |
bool IsPinExposedAndBound
(
const FString& InPinName, |
Helper function to check whether a pin is valid and bound via property access | AnimGraphNode_Base.h | |
bool IsPinExposedAndLinked
(
const FString& InPinName, |
Helper function to check whether a pin is valid and linked to something else in the graph | AnimGraphNode_Base.h | |
bool IsPinUnlinkedUnboundAndUnset
(
const FString& InPinName, |
Helper function to check whether a pin is not linked, not bound via property access and still has its default value | AnimGraphNode_Base.h | |
virtual bool IsPoseWatchable() |
Whether or not you can add a pose watch on this node. | AnimGraphNode_Base.h | |
virtual bool IsSinkNode() |
Is this node a sink that has no pose outputs? | AnimGraphNode_Base.h | |
FOnNodePropertyChangedEvent & OnNodePropertyChanged() |
AnimGraphNode_Base.h | ||
virtual void OnNodeSelected
(
bool bInIsSelected, |
Selection notification callback. | AnimGraphNode_Base.h | |
FOnNodeTitleChangedEvent & OnNodeTitleChangedEvent() |
AnimGraphNode_Base.h | ||
FPinVisibilityChangedEvent & OnPinVisibilityChanged() |
AnimGraphNode_Base.h | ||
virtual void OnPoseWatchChanged
(
const bool IsPoseWatchEnabled, |
Pose Watch change notification callback. | AnimGraphNode_Base.h | |
void PostEditRefreshDebuggedComponent () |
Refreshes the debugged component post-edit. | AnimGraphNode_Base.h | |
virtual void PostProcessPinName
(
const UEdGraphPin* Pin, |
Give the node a chance to change the display name of a pin. | AnimGraphNode_Base.h | |
| Update the property binding name. | AnimGraphNode_Base.h | ||
void RemoveBindings
(
FName InBindingName |
Remove any bindings for the specified name. | AnimGraphNode_Base.h | |
virtual void ReplaceReferredAnimations
(
const TMap< UAnimationAsset*, UAnimationAsset* >& AnimAssetReplacementMap |
Replace references to animations that exist in the supplied maps | AnimGraphNode_Base.h | |
void SetPinVisibility
(
bool bInVisible, |
Sets the visibility of the specified pin, reconstructs the node if it changes. | AnimGraphNode_Base.h | |
void SetTag
(
FName InTag |
Set the tag for this node. | AnimGraphNode_Base.h | |
virtual bool ShouldShowAttributesOnPins() |
AnimGraphNode_Base.h | ||
virtual EAnimAssetHandlerType SupportsAssetClass
(
const UClass* AssetClass |
Returns whether this node supports the supplied asset class | AnimGraphNode_Base.h | |
virtual bool UsingCopyPoseFromMesh() |
If using CopyPoseFromMesh, the AnimBlueprint Compiler will cache this off for optimizations. | AnimGraphNode_Base.h | |
virtual void ValidateAnimNodeDuringCompilation
(
USkeleton* ForSkeleton, |
Gives each visual node a chance to do final validation before it's node is harvested for use at runtime. | AnimGraphNode_Base.h | |
virtual void ValidateAnimNodePostCompile
(
FCompilerResultsLog& MessageLog, |
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. | AnimGraphNode_Base.h |
Overridden from UK2Node
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool CanPlaceBreakpoints() |
AnimGraphNode_Base.h | ||
virtual void ExpandNode
(
FKismetCompilerContext& CompilerContext, |
AnimGraphNode_Base.h | ||
virtual void GetMenuActions
(
FBlueprintActionDatabaseRegistrar& ActionRegistrar |
AnimGraphNode_Base.h | ||
virtual FText GetMenuCategory() |
AnimGraphNode_Base.h | ||
virtual void GetNodeAttributes
(
TArray< TKeyValuePair< FString, FString > >& OutNodeAttributes |
AnimGraphNode_Base.h | ||
virtual void HandleFunctionRenamed
(
UBlueprint* InBlueprint, |
AnimGraphNode_Base.h | ||
virtual void HandleVariableRenamed
(
UBlueprint* InBlueprint, |
AnimGraphNode_Base.h | ||
virtual bool NodeCausesStructuralBlueprintChange() |
AnimGraphNode_Base.h | ||
virtual void ReallocatePinsDuringReconstruction
(
TArray< UEdGraphPin* >& OldPins |
AnimGraphNode_Base.h | ||
| AnimGraphNode_Base.h | |||
| AnimGraphNode_Base.h | |||
virtual void ReplaceReferences
(
UBlueprint* InBlueprint, |
AnimGraphNode_Base.h | ||
virtual bool ShouldShowNodeProperties() |
AnimGraphNode_Base.h |
Overridden from UEdGraphNode
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddPinSearchMetaDataInfo
(
const UEdGraphPin* Pin, |
AnimGraphNode_Base.h | ||
virtual void AddSearchMetaDataInfo
(
TArray< struct FSearchTagDataPair >& OutTaggedMetaData |
AnimGraphNode_Base.h | ||
virtual void AllocateDefaultPins() |
AnimGraphNode_Base.h | ||
virtual void AutowireNewNode
(
UEdGraphPin* FromPin |
AnimGraphNode_Base.h | ||
virtual bool CanCreateUnderSpecifiedSchema
(
const UEdGraphSchema* DesiredSchema |
AnimGraphNode_Base.h | ||
virtual bool CanJumpToDefinition() |
AnimGraphNode_Base.h | ||
virtual void DestroyNode() |
AnimGraphNode_Base.h | ||
virtual FString GetDocumentationLink() |
AnimGraphNode_Base.h | ||
virtual UObject * GetJumpTargetForDoubleClick() |
By default return any animation assets we have. | AnimGraphNode_Base.h | |
virtual FLinearColor GetNodeTitleColor() |
AnimGraphNode_Base.h | ||
virtual void GetPinHoverText
(
const UEdGraphPin& Pin, |
AnimGraphNode_Base.h | ||
| AnimGraphNode_Base.h | |||
virtual void JumpToDefinition() |
AnimGraphNode_Base.h | ||
virtual void PinConnectionListChanged
(
UEdGraphPin* Pin |
AnimGraphNode_Base.h | ||
virtual void PinDefaultValueChanged
(
UEdGraphPin* Pin |
AnimGraphNode_Base.h | ||
virtual void PostPasteNode() |
AnimGraphNode_Base.h | ||
virtual void PostPlacedNewNode() |
AnimGraphNode_Base.h | ||
virtual void ReconstructNode() |
AnimGraphNode_Base.h | ||
virtual bool ShowPaletteIconOnNode() |
AnimGraphNode_Base.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
AnimGraphNode_Base.h | ||
virtual void PostEditUndo() |
AnimGraphNode_Base.h | ||
virtual void PreEditChange
(
FProperty* PropertyAboutToChange |
AnimGraphNode_Base.h | ||
virtual void Serialize
(
FArchive& Ar |
AnimGraphNode_Base.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CopyTermDefaultsToDefaultObject
(
IAnimBlueprintCopyTermDefaultsContext& InCompilationContext, |
Copy this node's data during the last phase of compilation where term defaults are copied to the new CDO. | AnimGraphNode_Base.h | |
virtual void CreateCustomPins
(
TArray< UEdGraphPin* >* OldPins |
Override point to create custom pins | AnimGraphNode_Base.h | |
virtual void CreatePinsForPoseLink
(
FProperty* PoseProperty, |
This will be called when a pose link is found, and can be called with PoseProperty being either of: | AnimGraphNode_Base.h | |
void EnsureBindingsArePresent() |
Create the bindings subobject if required. | AnimGraphNode_Base.h | |
virtual FPoseLinkMappingRecord GetLinkIDLocation
(
const UScriptStruct* NodeType, |
AnimGraphNode_Base.h | ||
UObject * GetObjectBeingDebugged() |
AnimGraphNode_Base.h | ||
virtual void GetPinAssociatedProperty
(
const UScriptStruct* NodeType, |
Get the property (and possibly array index) associated with the supplied pin | AnimGraphNode_Base.h | |
| Get the pin binding info for the supplied pin | AnimGraphNode_Base.h | ||
virtual void GetRequiredExtensions
(
TArray< TSubclassOf< UAnimBlueprintExtension > >& OutExtensions |
Get the extension types that this node type holds on the anim blueprint. Some extension types are always requested by the system. | AnimGraphNode_Base.h | |
void InternalPinCreation
(
TArray< UEdGraphPin* >* OldPins |
Allocates or reallocates pins. | AnimGraphNode_Base.h | |
virtual void OnCopyTermDefaultsToDefaultObject
(
IAnimBlueprintCopyTermDefaultsContext& InCompilationContext, |
Override point for CopyTermDefaultsToDefaultObject Copy this node's data during the last phase of compilation where term defaults are copied to the new CDO | AnimGraphNode_Base.h | |
virtual void OnOverrideAssets
(
IAnimBlueprintNodeOverrideAssetsContext& InContext |
Override point for OverrideAssets. | AnimGraphNode_Base.h | |
virtual void OnProcessDuringCompilation
(
IAnimBlueprintCompilationContext& InCompilationContext, |
Process this node's data during compilation (override point) | AnimGraphNode_Base.h | |
void OverrideAssets
(
IAnimBlueprintNodeOverrideAssetsContext& InContext |
Called to override the assets held on a runtime anim node. Implements per-node logic for child anim blueprints. | AnimGraphNode_Base.h | |
void ProcessDuringCompilation
(
IAnimBlueprintCompilationContext& InCompilationContext, |
Process this node's data during compilation. | AnimGraphNode_Base.h | |
void RecalculateBindingType
(
FAnimGraphNodePropertyBinding& InBinding |
Helper function used to refresh the type of a binding. | AnimGraphNode_Base.h | |
void SetTagInternal
(
FName InTag |
Set the tag for this node but without regenerating any BP data for tagging. | AnimGraphNode_Base.h | |
virtual bool ShouldCreateStructEvalHandlers() |
Whether this node should create BP evaluation handlers as part of compilation. | AnimGraphNode_Base.h | |
void ValidateFunctionRef
(
FName InPropertyName, |
Helper function used to validate anim node function references | AnimGraphNode_Base.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool IsPotentiallyBoundFunction
(
const FMemberReference& FunctionReference |
Check if a specified function reference appears to be valid by inspecting only the validity of the name and guid. | AnimGraphNode_Base.h | |
static TSharedRef< SWidget > MakePropertyBindingWidget
(
const FAnimPropertyBindingWidgetArgs& InArgs |
Make a property binding widget to edit the bindings of the passed-in nodes. | AnimGraphNode_Base.h |
Deprecated Variables
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| PropertyBindings_DEPRECATED | TMap< FName, FAnimGraphNodePropertyBinding > | Map from property name->binding info | AnimGraphNode_Base.h |