UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FAnimNode_LinkedAnimGraph Struct Reference

#include <AnimNode_LinkedAnimGraph.h>

+ Inheritance diagram for FAnimNode_LinkedAnimGraph:

Public Member Functions

ENGINE_API FAnimNode_LinkedAnimGraph ()
 
ENGINE_API void SetAnimClass (TSubclassOf< UAnimInstance > InClass, const UAnimInstance *InOwningAnimInstance)
 
virtual ENGINE_API FName GetDynamicLinkFunctionName () const
 
virtual ENGINE_API UAnimInstanceGetDynamicLinkTarget (UAnimInstance *InOwningAnimInstance) const
 
virtual ENGINE_API void Initialize_AnyThread (const FAnimationInitializeContext &Context) override
 
virtual ENGINE_API void CacheBones_AnyThread (const FAnimationCacheBonesContext &Context) override
 
virtual ENGINE_API void Update_AnyThread (const FAnimationUpdateContext &Context) override
 
virtual ENGINE_API void Evaluate_AnyThread (FPoseContext &Output) override
 
virtual ENGINE_API void GatherDebugData (FNodeDebugData &DebugData) override
 
ENGINE_API void InitializeSubGraph_AnyThread (const FAnimationInitializeContext &Context)
 
ENGINE_API void CacheBonesSubGraph_AnyThread (const FAnimationCacheBonesContext &Context)
 
- Public Member Functions inherited from FAnimNode_CustomProperty
ENGINE_API FAnimNode_CustomProperty ()
 
ENGINE_API FAnimNode_CustomProperty (const FAnimNode_CustomProperty &)
 
ENGINE_API ~FAnimNode_CustomProperty ()
 
ENGINE_API void SetTargetInstance (UObject *InInstance)
 
template<class T >
T * GetTargetInstance () const
 
- Public Member Functions inherited from FAnimNode_Base
virtual ENGINE_API void EvaluateComponentSpace_AnyThread (FComponentSpacePoseContext &Output)
 
virtual bool CanUpdateInWorkerThread () const
 
virtual bool HasPreUpdate () const
 
virtual void PreUpdate (const UAnimInstance *InAnimInstance)
 
virtual bool NeedsDynamicReset () const
 
virtual ENGINE_API void ResetDynamics (ETeleportType InTeleportType)
 
virtual void PostCompile (const class USkeleton *InSkeleton)
 
virtual ~FAnimNode_Base ()
 
virtual void ResetDynamics ()
 
virtual bool WantsSkippedUpdates () const
 
virtual void OnUpdatesSkipped (TArrayView< const FAnimationUpdateContext * > SkippedUpdateContexts)
 
virtual void OverrideAsset (class UAnimationAsset *NewAsset)
 
ENGINE_API const FExposedValueHandlerGetEvaluateGraphExposedInputs () const
 
void SetExposedValueHandler (const FExposedValueHandler *Handler)
 
int32 GetNodeIndex () const
 
const IAnimClassInterfaceGetAnimClassInterface () const
 

Public Attributes

TArray< FPoseLinkInputPoses
 
TArray< FNameInputPoseNames
 
TSubclassOf< UAnimInstanceInstanceClass
 
FAnimNode_BaseLinkedRoot
 
int32 NodeIndex
 
int32 CachedLinkedNodeIndex
 
uint8 bReceiveNotifiesFromLinkedInstances: 1
 
uint8 bPropagateNotifiesToLinkedInstances: 1
 

Protected Member Functions

virtual ENGINE_API void OnInitializeAnimInstance (const FAnimInstanceProxy *InProxy, const UAnimInstance *InAnimInstance) override
 
virtual bool NeedsOnInitializeAnimInstance () const override
 
ENGINE_API void ReinitializeLinkedAnimInstance (const UAnimInstance *InOwningAnimInstance, UAnimInstance *InNewAnimInstance=nullptr)
 
ENGINE_API void TeardownInstance (const UAnimInstance *InOwningAnimInstance)
 
virtual bool CanTeardownLinkedInstance (const UAnimInstance *LinkedInstance) const
 
virtual UClassGetTargetClass () const override
 
ENGINE_API void DynamicLink (UAnimInstance *InOwningAnimInstance)
 
ENGINE_API void DynamicUnlink (UAnimInstance *InOwningAnimInstance)
 
ENGINE_API int32 FindFunctionInputIndex (const FAnimBlueprintFunction &AnimBlueprintFunction, const FName &InInputName)
 
ENGINE_API void RequestBlend (const IAnimClassInterface *PriorAnimBPClass, const IAnimClassInterface *NewAnimBPClass)
 
- Protected Member Functions inherited from FAnimNode_CustomProperty
virtual ENGINE_API void InitializeProperties (const UObject *InSourceInstance, UClass *InTargetClass)
 
virtual ENGINE_API void PropagateInputProperties (const UObject *InSourceInstance)
 
- Protected Member Functions inherited from FAnimNode_Base
template<typename DataType >
const DataType & GetData (UE::Anim::FNodeDataId InId, const UObject *InObject=nullptr) const
 
template<typename DataType >
DataType * GetInstanceDataPtr (UE::Anim::FNodeDataId InId, UObject *InObject=nullptr)
 
ENGINE_API bool IsLODEnabled (FAnimInstanceProxy *AnimInstanceProxy)
 
virtual int32 GetLODThreshold () const
 

Protected Attributes

float PendingBlendOutDuration
 
TObjectPtr< const UBlendProfilePendingBlendOutProfile
 
float PendingBlendInDuration
 
TObjectPtr< const UBlendProfilePendingBlendInProfile
 
- Protected Attributes inherited from FAnimNode_CustomProperty
TArray< FNameSourcePropertyNames
 
TArray< FNameDestPropertyNames
 
TObjectPtr< UObjectTargetInstance
 
TArray< FProperty * > SourceProperties
 
TArray< FProperty * > DestProperties
 
virtual UClassGetTargetClass () const PURE_VIRTUAL(FAnimNode_CustomProperty
 

Friends

class UAnimInstance
 

Constructor & Destructor Documentation

◆ FAnimNode_LinkedAnimGraph()

FAnimNode_LinkedAnimGraph::FAnimNode_LinkedAnimGraph ( )

Member Function Documentation

◆ CacheBones_AnyThread()

void FAnimNode_LinkedAnimGraph::CacheBones_AnyThread ( const FAnimationCacheBonesContext Context)
overridevirtual

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

Parameters
ContextContext structure providing access to relevant data

Reimplemented from FAnimNode_Base.

◆ CacheBonesSubGraph_AnyThread()

void FAnimNode_LinkedAnimGraph::CacheBonesSubGraph_AnyThread ( const FAnimationCacheBonesContext Context)

◆ CanTeardownLinkedInstance()

virtual bool FAnimNode_LinkedAnimGraph::CanTeardownLinkedInstance ( const UAnimInstance LinkedInstance) const
inlineprotectedvirtual

Reimplemented in FAnimNode_LinkedAnimLayer.

◆ DynamicLink()

void FAnimNode_LinkedAnimGraph::DynamicLink ( UAnimInstance InOwningAnimInstance)
protected

Link up pose links dynamically with linked instance

◆ DynamicUnlink()

void FAnimNode_LinkedAnimGraph::DynamicUnlink ( UAnimInstance InOwningAnimInstance)
protected

Break any pose links dynamically with linked instance

◆ Evaluate_AnyThread()

void FAnimNode_LinkedAnimGraph::Evaluate_AnyThread ( FPoseContext Output)
overridevirtual

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.

Parameters
OutputOutput structure to write pose or curve data to. Also provides access to relevant data as a context.

Reimplemented from FAnimNode_Base.

◆ FindFunctionInputIndex()

int32 FAnimNode_LinkedAnimGraph::FindFunctionInputIndex ( const FAnimBlueprintFunction AnimBlueprintFunction,
const FName InInputName 
)
protected

Helper function for finding function inputs when linking/unlinking

◆ GatherDebugData()

void FAnimNode_LinkedAnimGraph::GatherDebugData ( FNodeDebugData DebugData)
overridevirtual

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

Parameters
DebugDataDebug data structure used to output any relevant data

Reimplemented from FAnimNode_Base.

◆ GetDynamicLinkFunctionName()

FName FAnimNode_LinkedAnimGraph::GetDynamicLinkFunctionName ( ) const
virtual

Get the function name we should be linking with when we call DynamicLink/Unlink

Reimplemented in FAnimNode_LinkedAnimLayer.

◆ GetDynamicLinkTarget()

UAnimInstance * FAnimNode_LinkedAnimGraph::GetDynamicLinkTarget ( UAnimInstance InOwningAnimInstance) const
virtual

Get the dynamic link target

Reimplemented in FAnimNode_LinkedAnimLayer.

◆ GetTargetClass()

virtual UClass * FAnimNode_LinkedAnimGraph::GetTargetClass ( ) const
inlineoverrideprotectedvirtual

Reimplemented in FAnimNode_LinkedAnimLayer.

◆ Initialize_AnyThread()

void FAnimNode_LinkedAnimGraph::Initialize_AnyThread ( const FAnimationInitializeContext Context)
overridevirtual

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.

Parameters
ContextContext structure providing access to relevant data

Reimplemented from FAnimNode_Base.

◆ InitializeSubGraph_AnyThread()

void FAnimNode_LinkedAnimGraph::InitializeSubGraph_AnyThread ( const FAnimationInitializeContext Context)

◆ NeedsOnInitializeAnimInstance()

virtual bool FAnimNode_LinkedAnimGraph::NeedsOnInitializeAnimInstance ( ) const
inlineoverrideprotectedvirtual

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 the UAnimInstance CDO to avoid needing to call this at runtime.

Reimplemented from FAnimNode_Base.

Reimplemented in FAnimNode_LinkedAnimLayer.

◆ OnInitializeAnimInstance()

void FAnimNode_LinkedAnimGraph::OnInitializeAnimInstance ( const FAnimInstanceProxy InProxy,
const UAnimInstance InAnimInstance 
)
overrideprotectedvirtual

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

Reimplemented from FAnimNode_Base.

Reimplemented in FAnimNode_LinkedAnimLayer.

◆ ReinitializeLinkedAnimInstance()

void FAnimNode_LinkedAnimGraph::ReinitializeLinkedAnimInstance ( const UAnimInstance InOwningAnimInstance,
UAnimInstance InNewAnimInstance = nullptr 
)
protected

◆ RequestBlend()

void FAnimNode_LinkedAnimGraph::RequestBlend ( const IAnimClassInterface PriorAnimBPClass,
const IAnimClassInterface NewAnimBPClass 
)
protected

Request a blend when the active instance changes

◆ SetAnimClass()

void FAnimNode_LinkedAnimGraph::SetAnimClass ( TSubclassOf< UAnimInstance InClass,
const UAnimInstance InOwningAnimInstance 
)

Dynamically set the anim class of this linked instance

◆ TeardownInstance()

void FAnimNode_LinkedAnimGraph::TeardownInstance ( const UAnimInstance InOwningAnimInstance)
protected

◆ Update_AnyThread()

void FAnimNode_LinkedAnimGraph::Update_AnyThread ( const FAnimationUpdateContext Context)
overridevirtual

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.

Parameters
ContextContext structure providing access to relevant data

Reimplemented from FAnimNode_Base.

Friends And Related Symbol Documentation

◆ UAnimInstance

friend class UAnimInstance
friend

Member Data Documentation

◆ bPropagateNotifiesToLinkedInstances

uint8 FAnimNode_LinkedAnimGraph::bPropagateNotifiesToLinkedInstances

Whether named notifies will be propagated from this linked instance to other instances (outer or other linked instances)

◆ bReceiveNotifiesFromLinkedInstances

uint8 FAnimNode_LinkedAnimGraph::bReceiveNotifiesFromLinkedInstances

Whether named notifies will be received by this linked instance from other instances (outer or other linked instances)

◆ CachedLinkedNodeIndex

int32 FAnimNode_LinkedAnimGraph::CachedLinkedNodeIndex

◆ InputPoseNames

TArray<FName> FAnimNode_LinkedAnimGraph::InputPoseNames

List of input pose names, 1-1 with pose links about, built by the compiler

◆ InputPoses

TArray<FPoseLink> FAnimNode_LinkedAnimGraph::InputPoses

Input poses for the node, intentionally not accessible because if there's no input nodes in the target class we don't want to show these as pins

◆ InstanceClass

TSubclassOf<UAnimInstance> FAnimNode_LinkedAnimGraph::InstanceClass

The class spawned for this linked instance

◆ LinkedRoot

FAnimNode_Base* FAnimNode_LinkedAnimGraph::LinkedRoot

◆ NodeIndex

int32 FAnimNode_LinkedAnimGraph::NodeIndex

◆ PendingBlendInDuration

float FAnimNode_LinkedAnimGraph::PendingBlendInDuration
protected

◆ PendingBlendInProfile

TObjectPtr<const UBlendProfile> FAnimNode_LinkedAnimGraph::PendingBlendInProfile
protected

◆ PendingBlendOutDuration

float FAnimNode_LinkedAnimGraph::PendingBlendOutDuration
protected

◆ PendingBlendOutProfile

TObjectPtr<const UBlendProfile> FAnimNode_LinkedAnimGraph::PendingBlendOutProfile
protected

The documentation for this struct was generated from the following files: