FAnimNode_CustomProperty

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

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Animation/AnimNode_CustomProperty.h

Include

#include "Animation/AnimNode_CustomProperty.h"

Syntax

struct FAnimNode_CustomProperty : public FAnimNode_Base

Remarks

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

Variables

Name Description

Protected variable

bool

 

bReinitializeProperties

Protected variable

TArray< FProper...

 

DestProperties

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

Protected variable

TArray< FName >

 

DestPropertyNames

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

Protected variable

TArray< FProper...

 

SourceProperties

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

Protected variable

TArray< FName >

 

SourcePropertyNames

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

Protected variable

TObjectPtr< UOb...

 

TargetInstance

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

Constructors

Name Description

Public function

FAnimNode_CustomProperty()

Functions

Name Description

Protected function Virtual Const

UClass *

 

GetTargetClass()

Get Target Class

Public function Const

T *

 

GetTargetInstance()

Get Target Instance by type for convenience

Protected function Virtual

void

 

InitializeProperties

(
    const UObject* InSourceInstanc...,
    UClass* InTargetClass
)

Initialize property links from the source instance, in this case AnimInstance Compiler creates those properties during compile time

Protected function Virtual

void

 

PropagateInputProperties

(
    const UObject* InSourceInstanc...
)

Propagate the Source Instances' properties to Target Instance

Public function

void

 

SetTargetInstance

(
    UObject* InInstance
)

Set Target Instance

Overridden from FAnimNode_Base

Name Description

Protected function Virtual Const

bool

 

HasPreUpdate()

Override this to indicate that PreUpdate() should be called on the game thread (usually to gather non-thread safe data) before Update() is called.

Protected function Virtual

void

 

PreUpdate

(
    const UAnimInstance* InAnimIns...
)

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