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

#include <AnimNode_CustomProperty.h>

+ Inheritance diagram for FAnimNode_CustomProperty:

Public Member Functions

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 Initialize_AnyThread (const FAnimationInitializeContext &Context)
 
virtual ENGINE_API void CacheBones_AnyThread (const FAnimationCacheBonesContext &Context)
 
virtual ENGINE_API void Update_AnyThread (const FAnimationUpdateContext &Context)
 
virtual ENGINE_API void Evaluate_AnyThread (FPoseContext &Output)
 
virtual ENGINE_API void EvaluateComponentSpace_AnyThread (FComponentSpacePoseContext &Output)
 
virtual void GatherDebugData (FNodeDebugData &DebugData)
 
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 bool NeedsOnInitializeAnimInstance () const
 
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
 

Protected Member Functions

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
 
virtual ENGINE_API void OnInitializeAnimInstance (const FAnimInstanceProxy *InProxy, const UAnimInstance *InAnimInstance)
 

Protected Attributes

TArray< FNameSourcePropertyNames
 
TArray< FNameDestPropertyNames
 
TObjectPtr< UObjectTargetInstance
 
TArray< FProperty * > SourceProperties
 
TArray< FProperty * > DestProperties
 
virtual UClassGetTargetClass () const PURE_VIRTUAL(FAnimNode_CustomProperty
 

Friends

class UAnimGraphNode_CustomProperty
 
class UAnimInstance
 
class UControlRigLayerInstance
 

Detailed Description

Custom property node that you'd like to expand pin by reflecting internal instance (we call TargetInstance here)

Used by sub anim instance or control rig node where you have internal instance and would like to reflect to AnimNode as a pin

To make pin working, you need storage inside of AnimInstance (SourceProperties/SourcePropertyNames) So this creates storage inside of AnimInstance with the unique custom property name and it copies to the actually TargetInstance here to allow the information be transferred in runtime (DestProperties/DestPropertyNames)

TargetInstance - UObject derived instance that has certain dest properties Source - AnimInstance's copy properties that is used to store the data

Constructor & Destructor Documentation

◆ FAnimNode_CustomProperty() [1/2]

FAnimNode_CustomProperty::FAnimNode_CustomProperty ( )

◆ FAnimNode_CustomProperty() [2/2]

FAnimNode_CustomProperty::FAnimNode_CustomProperty ( const FAnimNode_CustomProperty )
default

◆ ~FAnimNode_CustomProperty()

FAnimNode_CustomProperty::~FAnimNode_CustomProperty ( )
default

Member Function Documentation

◆ GetTargetInstance()

template<class T >
T * FAnimNode_CustomProperty::GetTargetInstance ( ) const
inline

◆ InitializeProperties()

void FAnimNode_CustomProperty::InitializeProperties ( const UObject InSourceInstance,
UClass InTargetClass 
)
protectedvirtual

Reimplemented in FAnimNode_LinkedAnimLayer.

◆ PropagateInputProperties()

void FAnimNode_CustomProperty::PropagateInputProperties ( const UObject InSourceInstance)
protectedvirtual

◆ SetTargetInstance()

void FAnimNode_CustomProperty::SetTargetInstance ( UObject InInstance)

Friends And Related Symbol Documentation

◆ UAnimGraphNode_CustomProperty

friend class UAnimGraphNode_CustomProperty
friend

◆ UAnimInstance

friend class UAnimInstance
friend

◆ UControlRigLayerInstance

friend class UControlRigLayerInstance
friend

Member Data Documentation

◆ DestProperties

TArray<FProperty*> FAnimNode_CustomProperty::DestProperties
protected

List of properties on the TargetInstance to push to, built from name list when initialised

◆ DestPropertyNames

TArray<FName> FAnimNode_CustomProperty::DestPropertyNames
protected

List of destination properties to use, 1-1 with Source names above, built by the compiler

◆ GetTargetClass

virtual UClass* FAnimNode_CustomProperty::GetTargetClass() const PURE_VIRTUAL(FAnimNode_CustomProperty
protected

Get Target Class

◆ SourceProperties

TArray<FProperty*> FAnimNode_CustomProperty::SourceProperties
protected

List of properties on the calling Source Instances instance to push from

◆ SourcePropertyNames

TArray<FName> FAnimNode_CustomProperty::SourcePropertyNames
protected

List of source properties to use, 1-1 with Dest names below, built by the compiler

◆ TargetInstance

TObjectPtr<UObject> FAnimNode_CustomProperty::TargetInstance
protected

This is the actual instance allocated at runtime that will run. Set by child class.


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