UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UAnimInstance Class Reference

#include <AnimInstance.h>

+ Inheritance diagram for UAnimInstance:

Public Types

enum class  EUpdateAnimationFlag : uint8 { ForceParallelUpdate , Default }
 
- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 

Public Member Functions

ENGINE_API void MakeMontageTickRecord (FAnimTickRecord &TickRecord, class UAnimMontage *Montage, float MoveDelta, float Weight, TArray< FPassedMarker > &MarkersPassedThisTick, FMarkerTickRecord &MarkerTickRecord)
 
ENGINE_API float GetSlotNodeGlobalWeight (const FName &SlotNodeName) const
 
bool ShouldExtractRootMotion () const
 
ENGINE_API float GetSlotMontageGlobalWeight (const FName &SlotNodeName) const
 
ENGINE_API float GetSlotMontageLocalWeight (const FName &SlotNodeName) const
 
ENGINE_API float CalcSlotMontageLocalWeight (const FName &SlotNodeName) const
 
virtual ENGINE_API APawn * TryGetPawnOwner () const
 
virtual ENGINE_API void SavePoseSnapshot (FName SnapshotName)
 
ENGINE_API FPoseSnapshotAddPoseSnapshot (FName SnapshotName)
 
ENGINE_API void RemovePoseSnapshot (FName SnapshotName)
 
ENGINE_API const FPoseSnapshotGetPoseSnapshot (FName SnapshotName) const
 
virtual ENGINE_API void SnapshotPose (UPARAM(ref) FPoseSnapshot &Snapshot)
 
ENGINE_API const TMap< FName, FAnimGroupInstance > & GetSyncGroupMapRead () const
 
ENGINE_API const TArray< FAnimTickRecord > & GetUngroupedActivePlayersRead ()
 
ENGINE_API const TMap< FName, float > & GetAnimationCurves (EAnimCurveType InCurveType) const
 
ENGINE_API void GatherDebugData (FNodeDebugData &DebugData)
 
virtual bool CanRunParallelWork () const
 
ENGINE_API bool IsRunningParallelEvaluation () const
 
ENGINE_API bool NeedsUpdate () const
 
ENGINE_API bool IsInitialized () const
 
bool GetReceiveNotifiesFromLinkedInstances () const
 
void SetReceiveNotifiesFromLinkedInstances (bool bSet)
 
bool GetPropagateNotifiesToLinkedInstances () const
 
void SetPropagateNotifiesToLinkedInstances (bool bSet)
 
bool IsUsingMainInstanceMontageEvaluationData () const
 
void SetUseMainInstanceMontageEvaluationData (bool bSet)
 
ENGINE_API AActorGetOwningActor () const
 
ENGINE_API USkeletalMeshComponent * GetOwningComponent () const
 
ENGINE_API UAnimInstanceBlueprint_GetMainAnimInstance () const
 
ENGINE_API void BlueprintInitializeAnimation ()
 
ENGINE_API void BlueprintUpdateAnimation (float DeltaTimeX)
 
ENGINE_API void BlueprintPostEvaluateAnimation ()
 
ENGINE_API void BlueprintBeginPlay ()
 
ENGINE_API void BlueprintLinkedAnimationLayersInitialized ()
 
ENGINE_API void BlueprintThreadSafeUpdateAnimation (float DeltaTime)
 
ENGINE_API bool CanTransitionSignature () const
 
ENGINE_API UAnimMontagePlaySlotAnimationAsDynamicMontage (UAnimSequenceBase *Asset, FName SlotNodeName, float BlendInTime=0.25f, float BlendOutTime=0.25f, float InPlayRate=1.f, int32 LoopCount=1, float BlendOutTriggerTime=-1.f, float InTimeToStartMontageAt=0.f)
 
ENGINE_API UAnimMontagePlaySlotAnimationAsDynamicMontage_WithBlendArgs (UAnimSequenceBase *Asset, FName SlotNodeName, const FAlphaBlendArgs &BlendIn, const FAlphaBlendArgs &BlendOut, float InPlayRate=1.f, int32 LoopCount=1, float BlendOutTriggerTime=-1.f, float InTimeToStartMontageAt=0.f)
 
ENGINE_API UAnimMontagePlaySlotAnimationAsDynamicMontage_WithBlendSettings (UAnimSequenceBase *Asset, FName SlotNodeName, const FMontageBlendSettings &BlendInSettings, const FMontageBlendSettings &BlendOutSettings, float InPlayRate=1.f, int32 LoopCount=1, float BlendOutTriggerTime=-1.f, float InTimeToStartMontageAt=0.f)
 
ENGINE_API void StopSlotAnimation (float InBlendOutTime=0.25f, FName SlotNodeName=NAME_None)
 
ENGINE_API bool IsPlayingSlotAnimation (const UAnimSequenceBase *Asset, FName SlotNodeName) const
 
ENGINE_API bool IsPlayingSlotAnimation (const UAnimSequenceBase *Asset, FName SlotNodeName, UAnimMontage *&OutMontage) const
 
ENGINE_API bool IsSlotActive (FName SlotNodeName) const
 
ENGINE_API float Blueprint_GetSlotMontageLocalWeight (FName SlotNodeName) const
 
ENGINE_API float Montage_Play (UAnimMontage *MontageToPlay, float InPlayRate=1.f, EMontagePlayReturnType ReturnValueType=EMontagePlayReturnType::MontageLength, float InTimeToStartMontageAt=0.f, bool bStopAllMontages=true)
 
ENGINE_API float Montage_PlayWithBlendIn (UAnimMontage *MontageToPlay, const FAlphaBlendArgs &BlendIn, float InPlayRate=1.f, EMontagePlayReturnType ReturnValueType=EMontagePlayReturnType::MontageLength, float InTimeToStartMontageAt=0.f, bool bStopAllMontages=true)
 
ENGINE_API float Montage_PlayWithBlendSettings (UAnimMontage *MontageToPlay, const FMontageBlendSettings &BlendInSettings, float InPlayRate=1.f, EMontagePlayReturnType ReturnValueType=EMontagePlayReturnType::MontageLength, float InTimeToStartMontageAt=0.f, bool bStopAllMontages=true)
 
ENGINE_API void Montage_Stop (float InBlendOutTime, const UAnimMontage *Montage=NULL)
 
ENGINE_API void Montage_StopWithBlendOut (const FAlphaBlendArgs &BlendOut, const UAnimMontage *Montage=nullptr)
 
ENGINE_API void Montage_StopWithBlendSettings (const FMontageBlendSettings &BlendOutSettings, const UAnimMontage *Montage=nullptr)
 
ENGINE_API void Montage_StopGroupByName (float InBlendOutTime, FName GroupName)
 
ENGINE_API void Montage_Pause (const UAnimMontage *Montage=NULL)
 
ENGINE_API void Montage_Resume (const UAnimMontage *Montage)
 
ENGINE_API void Montage_JumpToSection (FName SectionName, const UAnimMontage *Montage=NULL)
 
ENGINE_API void Montage_JumpToSectionsEnd (FName SectionName, const UAnimMontage *Montage=NULL)
 
ENGINE_API void Montage_SetNextSection (FName SectionNameToChange, FName NextSection, const UAnimMontage *Montage=NULL)
 
ENGINE_API void Montage_SetPlayRate (const UAnimMontage *Montage, float NewPlayRate=1.f)
 
ENGINE_API bool Montage_IsActive (const UAnimMontage *Montage) const
 
ENGINE_API bool Montage_IsPlaying (const UAnimMontage *Montage) const
 
ENGINE_API FName Montage_GetCurrentSection (const UAnimMontage *Montage=NULL) const
 
ENGINE_API float Montage_GetPosition (const UAnimMontage *Montage) const
 
ENGINE_API void Montage_SetPosition (const UAnimMontage *Montage, float NewPosition)
 
ENGINE_API bool Montage_GetIsStopped (const UAnimMontage *Montage) const
 
ENGINE_API float Montage_GetBlendTime (const UAnimMontage *Montage) const
 
ENGINE_API float Montage_GetPlayRate (const UAnimMontage *Montage) const
 
ENGINE_API float Montage_GetEffectivePlayRate (const UAnimMontage *Montage) const
 
ENGINE_API bool DynamicMontage_IsPlayingFrom (const UAnimSequenceBase *Animation) const
 
ENGINE_API void MontageSync_Follow (const UAnimMontage *MontageFollower, const UAnimInstance *OtherAnimInstance, const UAnimMontage *MontageLeader)
 
ENGINE_API void MontageSync_StopFollowing (const UAnimMontage *MontageFollower)
 
ENGINE_API bool IsAnyMontagePlaying () const
 
ENGINE_API UAnimMontageGetCurrentActiveMontage () const
 
ENGINE_API void Montage_SetEndDelegate (FOnMontageEnded &InOnMontageEnded, UAnimMontage *Montage=NULL)
 
ENGINE_API FOnMontageEndedMontage_GetEndedDelegate (UAnimMontage *Montage=nullptr)
 
ENGINE_API void Montage_SetBlendingOutDelegate (FOnMontageBlendingOutStarted &InOnMontageBlendingOut, UAnimMontage *Montage=NULL)
 
ENGINE_API void Montage_SetBlendedInDelegate (FOnMontageBlendedInEnded &InOnMontageBlendingIn, UAnimMontage *Montage=nullptr)
 
ENGINE_API FOnMontageBlendingOutStartedMontage_GetBlendingOutDelegate (UAnimMontage *Montage=NULL)
 
ENGINE_API void Montage_SetSectionChangedDelegate (FOnMontageSectionChanged &InOnMontageSectionChanged, UAnimMontage *Montage=NULL)
 
ENGINE_API FOnMontageSectionChangedMontage_GetSectionChangedDelegate (UAnimMontage *Montage=NULL)
 
ENGINE_API int32 Montage_GetNextSectionID (const UAnimMontage *Montage, int32 const &CurrentSectionID) const
 
ENGINE_API FAnimMontageInstanceGetActiveMontageInstance () const
 
ENGINE_API FAnimMontageInstanceGetActiveInstanceForMontage (const UAnimMontage *Montage) const
 
ENGINE_API FAnimMontageInstanceGetInstanceForMontage (const UAnimMontage *Montage) const
 
ENGINE_API FAnimMontageInstanceGetMontageInstanceForID (int32 MontageInstanceID)
 
ENGINE_API void StopAllMontages (float BlendOut)
 
virtual ENGINE_API void OnMontageInstanceStopped (FAnimMontageInstance &StoppedMontageInstance)
 
ENGINE_API void ClearMontageInstanceReferences (FAnimMontageInstance &InMontageInstance)
 
FAnimNode_LinkedInputPoseGetSubInputNode (FName InSubInput=NAME_None, FName InGraph=NAME_None)
 
ENGINE_API FAnimNode_LinkedInputPoseGetLinkedInputPoseNode (FName InSubInput=NAME_None, FName InGraph=NAME_None)
 
UAnimInstanceGetSubInstanceByTag (FName InTag) const
 
ENGINE_API UAnimInstanceGetLinkedAnimGraphInstanceByTag (FName InTag) const
 
ENGINE_API void GetSubInstancesByTag (FName InTag, TArray< UAnimInstance * > &OutSubInstances) const
 
ENGINE_API void GetLinkedAnimGraphInstancesByTag (FName InTag, TArray< UAnimInstance * > &OutLinkedInstances) const
 
void SetSubInstanceClassByTag (FName InTag, TSubclassOf< UAnimInstance > InClass)
 
ENGINE_API void LinkAnimGraphByTag (FName InTag, TSubclassOf< UAnimInstance > InClass)
 
void SetLayerOverlay (TSubclassOf< UAnimInstance > InClass)
 
virtual ENGINE_API void LinkAnimClassLayers (TSubclassOf< UAnimInstance > InClass)
 
void ClearLayerOverlay (TSubclassOf< UAnimInstance > InClass)
 
virtual ENGINE_API void UnlinkAnimClassLayers (TSubclassOf< UAnimInstance > InClass)
 
UAnimInstanceGetLayerSubInstanceByGroup (FName InGroup) const
 
ENGINE_API UAnimInstanceGetLinkedAnimLayerInstanceByGroup (FName InGroup) const
 
ENGINE_API void GetLinkedAnimLayerInstancesByGroup (FName InGroup, TArray< UAnimInstance * > &OutLinkedInstances) const
 
ENGINE_API UAnimInstanceGetLinkedAnimLayerInstanceByGroupAndClass (FName InGroup, TSubclassOf< UAnimInstance > InClass) const
 
UAnimInstanceGetLayerSubInstanceByClass (TSubclassOf< UAnimInstance > InClass) const
 
ENGINE_API UAnimInstanceGetLinkedAnimLayerInstanceByClass (TSubclassOf< UAnimInstance > InClass, bool bCheckForChildClass=false) const
 
ENGINE_API void InitializeGroupedLayers (bool bInDeferSubGraphInitialization)
 
ENGINE_API void AddExternalNotifyHandler (UObject *ExternalHandlerObject, FName NotifyEventName)
 
ENGINE_API void RemoveExternalNotifyHandler (UObject *ExternalHandlerObject, FName NotifyEventName)
 
ENGINE_API FAnimSubsystemInstanceFindSubsystem (UScriptStruct *InSubsystemType)
 
template<typename SubsystemType >
SubsystemTypeFindSubsystem ()
 
template<typename SubsystemType >
SubsystemTypeGetSubsystem ()
 
ENGINE_API void ConditionalFlushCompletedMontages ()
 
ENGINE_API void RequestMontageInertialization (const UAnimMontage *Montage, float Duration, const UBlendProfile *BlendProfile=nullptr)
 
ENGINE_API void RequestMontageInertialization (const UAnimMontage *Montage, const FInertializationRequest &Request)
 
ENGINE_API void RequestSlotGroupInertialization (FName InSlotGroupName, float Duration, const UBlendProfile *BlendProfile=nullptr)
 
ENGINE_API void QueueMontageBlendingOutEvent (const FQueuedMontageBlendingOutEvent &MontageBlendingOutEvent)
 
ENGINE_API void QueueMontageBlendedInEvent (const FQueuedMontageBlendedInEvent &MontageBlendedInEvent)
 
ENGINE_API void QueueMontageEndedEvent (const FQueuedMontageEndedEvent &MontageEndedEvent)
 
ENGINE_API void QueueMontageSectionChangedEvent (const FQueuedMontageSectionChangedEvent &MontageSectionChangedEvent)
 
ENGINE_API void SetRootMotionMode (TEnumAsByte< ERootMotionMode::Type > Value)
 
ENGINE_API float GetInstanceAssetPlayerLength (int32 AssetPlayerIndex)
 
ENGINE_API float GetInstanceAssetPlayerTime (int32 AssetPlayerIndex)
 
 UFUNCTION (BlueprintPure, Category="Animation|Asset Player", meta=(DisplayName="Current Time (ratio)", BlueprintInternalUseOnly="true", AnimGetter="true", BlueprintThreadSafe)) ENGINE_API float GetInstanceAssetPlayerTimeFraction(int32 AssetPlayerIndex)
 
ENGINE_API float GetInstanceAssetPlayerTimeFromEnd (int32 AssetPlayerIndex)
 
 UFUNCTION (BlueprintPure, Category="Animation|Asset Player", meta=(DisplayName="Time Remaining (ratio)", BlueprintInternalUseOnly="true", AnimGetter="true", BlueprintThreadSafe)) ENGINE_API float GetInstanceAssetPlayerTimeFromEndFraction(int32 AssetPlayerIndex)
 
ENGINE_API float GetInstanceMachineWeight (int32 MachineIndex)
 
ENGINE_API float GetInstanceStateWeight (int32 MachineIndex, int32 StateIndex)
 
ENGINE_API float GetInstanceCurrentStateElapsedTime (int32 MachineIndex)
 
ENGINE_API float GetInstanceTransitionCrossfadeDuration (int32 MachineIndex, int32 TransitionIndex)
 
ENGINE_API float GetInstanceTransitionTimeElapsed (int32 MachineIndex, int32 TransitionIndex)
 
 UFUNCTION (BlueprintPure, Category="Animation|State Machines", meta=(DisplayName="Get Transition Time Elapsed (ratio)", BlueprintInternalUseOnly="true", AnimGetter="true", GetterContext="CustomBlend", BlueprintThreadSafe)) ENGINE_API float GetInstanceTransitionTimeElapsedFraction(int32 MachineIndex
 
ENGINE_API float GetRelevantAnimTimeRemaining (int32 MachineIndex, int32 StateIndex)
 
ENGINE_API float GetRelevantAnimTimeRemainingFraction (int32 MachineIndex, int32 StateIndex)
 
ENGINE_API float GetRelevantAnimLength (int32 MachineIndex, int32 StateIndex)
 
ENGINE_API float GetRelevantAnimTime (int32 MachineIndex, int32 StateIndex)
 
ENGINE_API float GetRelevantAnimTimeFraction (int32 MachineIndex, int32 StateIndex)
 
ENGINE_API bool WasAnimNotifyStateActiveInAnyState (TSubclassOf< UAnimNotifyState > AnimNotifyStateType)
 
ENGINE_API bool WasAnimNotifyStateActiveInStateMachine (int32 MachineIndex, TSubclassOf< UAnimNotifyState > AnimNotifyStateType)
 
ENGINE_API bool WasAnimNotifyStateActiveInSourceState (int32 MachineIndex, int32 StateIndex, TSubclassOf< UAnimNotifyState > AnimNotifyStateType)
 
ENGINE_API bool WasAnimNotifyTriggeredInSourceState (int32 MachineIndex, int32 StateIndex, TSubclassOf< UAnimNotify > AnimNotifyType)
 
ENGINE_API bool WasAnimNotifyNameTriggeredInSourceState (int32 MachineIndex, int32 StateIndex, FName NotifyName)
 
ENGINE_API bool WasAnimNotifyTriggeredInStateMachine (int32 MachineIndex, TSubclassOf< UAnimNotify > AnimNotifyType)
 
ENGINE_API bool WasAnimNotifyNameTriggeredInStateMachine (int32 MachineIndex, FName NotifyName)
 
ENGINE_API bool WasAnimNotifyTriggeredInAnyState (TSubclassOf< UAnimNotify > AnimNotifyType)
 
ENGINE_API bool WasAnimNotifyNameTriggeredInAnyState (FName NotifyName)
 
ENGINE_API const FAnimNode_StateMachineGetStateMachineInstanceFromName (FName MachineName) const
 
ENGINE_API const FBakedAnimationStateMachineGetMachineDescription (IAnimClassInterface *AnimBlueprintClass, FAnimNode_StateMachine *MachineInstance)
 
ENGINE_API void GetStateMachineIndexAndDescription (FName InMachineName, int32 &OutMachineIndex, const FBakedAnimationStateMachine **OutMachineDescription)
 
ENGINE_API int32 GetSyncGroupIndexFromName (FName SyncGroupName) const
 
ENGINE_API int32 GetStateMachineIndex (FName MachineName) const
 
ENGINE_API const FAnimNode_StateMachineGetStateMachineInstance (int32 MachineIndex) const
 
ENGINE_API int32 GetInstanceAssetPlayerIndex (FName MachineName, FName StateName, FName InstanceName=NAME_None) const
 
ENGINE_API TArray< const FAnimNode_AssetPlayerBase * > GetInstanceAssetPlayers (const FName &GraphName) const
 
ENGINE_API TArray< FAnimNode_AssetPlayerBase * > GetMutableInstanceAssetPlayers (const FName &GraphName)
 
ENGINE_API TArray< const FAnimNode_AssetPlayerRelevancyBase * > GetInstanceRelevantAssetPlayers (const FName &GraphName) const
 
ENGINE_API TArray< FAnimNode_AssetPlayerRelevancyBase * > GetMutableInstanceRelevantAssetPlayers (const FName &GraphName)
 
ENGINE_API const FBakedAnimationStateMachineGetStateMachineInstanceDesc (FName MachineName) const
 
const FAnimNode_AssetPlayerBaseGetRelevantAssetPlayerFromState (int32 MachineIndex, int32 StateIndex) const
 
ENGINE_API const FAnimNode_AssetPlayerRelevancyBaseGetRelevantAssetPlayerInterfaceFromState (int32 MachineIndex, int32 StateIndex) const
 
ENGINE_API const UBlendProfileGetBlendProfileByName (FName InBlendProfileName) const
 
ENGINE_API float GetCurveValue (FName CurveName) const
 
ENGINE_API bool GetCurveValueWithDefault (FName CurveName, float DefaultValue, float &OutValue)
 
ENGINE_API void GetActiveCurveNames (EAnimCurveType CurveType, TArray< FName > &OutNames) const
 
ENGINE_API void GetAllCurveNames (TArray< FName > &OutNames) const
 
ENGINE_API bool GetCurveValue (FName CurveName, float &OutValue) const
 
ENGINE_API void OverrideCurveValue (FName CurveName, float Value)
 
ENGINE_API FName GetCurrentStateName (int32 MachineIndex)
 
ENGINE_API void SetMorphTarget (FName MorphTargetName, float Value)
 
ENGINE_API void ClearMorphTargets ()
 
ENGINE_API float CalculateDirection (const FVector &Velocity, const FRotator &BaseRotation) const
 
ENGINE_API void LockAIResources (bool bLockMovement, bool LockAILogic)
 
ENGINE_API void UnlockAIResources (bool bUnlockMovement, bool UnlockAILogic)
 
ENGINE_API bool GetTimeToClosestMarker (FName SyncGroup, FName MarkerName, float &OutMarkerTime) const
 
ENGINE_API bool HasMarkerBeenHitThisFrame (FName SyncGroup, FName MarkerName) const
 
ENGINE_API bool IsSyncGroupBetweenMarkers (FName InSyncGroupName, FName PreviousMarker, FName NextMarker, bool bRespectMarkerOrder=true) const
 
ENGINE_API FMarkerSyncAnimPosition GetSyncGroupPosition (FName InSyncGroupName) const
 
ENGINE_API bool RequestTransitionEvent (const FName EventName, const double RequestTimeout, const ETransitionRequestQueueMode QueueMode, const ETransitionRequestOverwriteMode OverwriteMode)
 
ENGINE_API void ClearTransitionEvents (const FName EventName)
 
ENGINE_API void ClearAllTransitionEvents ()
 
ENGINE_API bool QueryTransitionEvent (int32 MachineIndex, int32 TransitionIndex, FName EventName)
 
ENGINE_API bool QueryAndMarkTransitionEvent (int32 MachineIndex, int32 TransitionIndex, FName EventName)
 
virtual ENGINE_API void Serialize (FArchive &Ar) override
 
virtual ENGINE_API void BeginDestroy () override
 
virtual ENGINE_API void PostInitProperties () override
 
virtual void OnUROSkipTickAnimation ()
 
virtual void OnUROPreInterpolation ()
 
virtual void OnUROPreInterpolation_AnyThread (FAnimationEvaluationContext &InOutContext)
 
ENGINE_API void InitializeAnimation (bool bInDeferRootNodeInitialization=false)
 
virtual void PreUpdateLinkedInstances (float DeltaSeconds)
 
ENGINE_API void UpdateAnimation (float DeltaSeconds, bool bNeedsValidRootMotion, EUpdateAnimationFlag UpdateFlag=EUpdateAnimationFlag::Default)
 
ENGINE_API void ParallelUpdateAnimation ()
 
ENGINE_API void PostUpdateAnimation ()
 
ENGINE_API void PreEvaluateAnimation ()
 
ENGINE_API bool ParallelCanEvaluate (const USkeletalMesh *InSkeletalMesh) const
 
ENGINE_API void ParallelEvaluateAnimation (bool bForceRefPose, const USkeletalMesh *InSkeletalMesh, FParallelEvaluationData &OutAnimationPoseData)
 
ENGINE_API void ParallelEvaluateAnimation (bool bForceRefPose, const USkeletalMesh *InSkeletalMesh, FBlendedHeapCurve &OutCurve, FCompactPose &OutPose)
 
ENGINE_API void PostEvaluateAnimation ()
 
ENGINE_API void UninitializeAnimation ()
 
virtual ENGINE_API void NativeInitializeAnimation ()
 
virtual ENGINE_API void NativeUpdateAnimation (float DeltaSeconds)
 
virtual ENGINE_API void NativeThreadSafeUpdateAnimation (float DeltaSeconds)
 
virtual ENGINE_API void NativePostEvaluateAnimation ()
 
virtual ENGINE_API void NativeUninitializeAnimation ()
 
virtual ENGINE_API void NativeLinkedAnimationLayersInitialized ()
 
void EnableUpdateAnimation (bool bEnable)
 
bool IsUpdateAnimationEnabled () const
 
virtual ENGINE_API void NativeBeginPlay ()
 
ENGINE_API void AddNativeTransitionBinding (const FName &MachineName, const FName &PrevStateName, const FName &NextStateName, const FCanTakeTransition &NativeTransitionDelegate, const FName &TransitionName=NAME_None)
 
ENGINE_API bool HasNativeTransitionBinding (const FName &MachineName, const FName &PrevStateName, const FName &NextStateName, FName &OutBindingName)
 
ENGINE_API void AddNativeStateEntryBinding (const FName &MachineName, const FName &StateName, const FOnGraphStateChanged &NativeEnteredDelegate)
 
ENGINE_API bool HasNativeStateEntryBinding (const FName &MachineName, const FName &StateName, FName &OutBindingName)
 
ENGINE_API void AddNativeStateExitBinding (const FName &MachineName, const FName &StateName, const FOnGraphStateChanged &NativeExitedDelegate)
 
ENGINE_API bool HasNativeStateExitBinding (const FName &MachineName, const FName &StateName, FName &OutBindingName)
 
ENGINE_API void DisplayDebug (UCanvas *Canvas, const FDebugDisplayInfo &DebugDisplay, float &YL, float &YPos)
 
virtual ENGINE_API void DisplayDebugInstance (FDisplayDebugManager &DisplayDebugManager, float &Indent)
 
ENGINE_API void ResetDynamics (ETeleportType InTeleportType)
 
ENGINE_API void ResetDynamics ()
 
virtual ENGINE_API int32 GetLODLevel () const
 
ENGINE_API const FGraphTraversalCounterGetUpdateCounter () const
 
ENGINE_API FBoneContainerGetRequiredBones ()
 
ENGINE_API const FBoneContainerGetRequiredBones () const
 
ENGINE_API const FBoneContainerGetRequiredBonesOnAnyThread () const
 
ENGINE_API void UpdateCurvesToEvaluationContext (const FAnimationEvaluationContext &InOutContext)
 
ENGINE_API void UpdateCurvesPostEvaluation ()
 
ENGINE_API void SwapCurveWithEvaluationContext (FAnimationEvaluationContext &InOutContext)
 
ENGINE_API void UpdateCurves (const FBlendedHeapCurve &InCurves)
 
ENGINE_API void CopyCurveValues (const UAnimInstance &InSourceInstance)
 
ENGINE_API void RefreshCurves (USkeletalMeshComponent *Component)
 
ENGINE_API bool HasMorphTargetCurves () const
 
ENGINE_API bool HasActiveCurves () const
 
ENGINE_API float GetDeltaSeconds () const
 
ENGINE_API void AppendAnimationCurveList (EAnimCurveType Type, TMap< FName, float > &InOutCurveList) const
 
ENGINE_API void GetAnimationCurveList (EAnimCurveType Type, TMap< FName, float > &InOutCurveList) const
 
ENGINE_API const TMap< FName, float > & GetAnimationCurveList (EAnimCurveType Type) const
 
uint32 GetLastMontageFlushFrame () const
 
ENGINE_API void RecalcRequiredBones ()
 
ENGINE_API void RecalcRequiredCurves (const UE::Anim::FCurveFilterSettings &CurveFilterSettings)
 
ENGINE_API void RecalcRequiredCurves (const FCurveEvaluationOption &CurveEvalOption)
 
USkeletalMeshComponent * GetSkelMeshComponent () const
 
virtual ENGINE_API UWorldGetWorld () const override
 
ENGINE_API void TriggerAnimNotifies (float DeltaSeconds)
 
ENGINE_API void TriggerSingleAnimNotify (const FAnimNotifyEvent *AnimNotifyEvent)
 
ENGINE_API void TriggerSingleAnimNotify (FAnimNotifyEventReference &EventReference)
 
ENGINE_API void EndNotifyStates ()
 
void AddCurveValue (const SmartName::UID_Type Uid, float Value)
 
void AddCurveValue (const FSmartNameMapping &Mapping, const FName &CurveName, float Value)
 
ENGINE_API void RecordMachineWeight (const int32 InMachineClassIndex, const float InMachineWeight)
 
ENGINE_API void AddCurveValue (const FName &CurveName, float Value, bool bMorphtarget=false, bool bMaterial=false)
 
ENGINE_API void RecordStateWeight (const int32 InMachineClassIndex, const int32 InStateIndex, const float InStateWeight, const float InElapsedTime)
 
ENGINE_API FAnimMontageInstanceGetRootMotionMontageInstance () const
 
ENGINE_API FRootMotionMovementParams ConsumeExtractedRootMotion (float Alpha)
 
ENGINE_API void QueueRootMotionBlend (const FTransform &RootTransform, const FName &SlotName, float Weight)
 
virtual ENGINE_API bool ShouldTriggerAnimNotifyState (const UAnimNotifyState *AnimNotifyState) const
 
ENGINE_API void DispatchQueuedAnimEvents ()
 
ENGINE_API void ClearQueuedAnimEvents (bool bShouldUpdateActiveAnimNotifiesSinceLastTick)
 
- Public Member Functions inherited from UObject
COREUOBJECT_API UObject ()
 
COREUOBJECT_API UObject (const FObjectInitializer &ObjectInitializer)
 
COREUOBJECT_API UObject (EStaticConstructor, EObjectFlags InFlags)
 
COREUOBJECT_API UObject (FVTableHelper &Helper)
 
COREUOBJECT_API UObjectCreateDefaultSubobject (FName SubobjectFName, UClass *ReturnType, UClass *ClassToCreateByDefault, bool bIsRequired, bool bIsTransient)
 
template<class TReturnType >
TReturnTypeCreateEditorOnlyDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
COREUOBJECT_API void GetDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects)
 
COREUOBJECT_API UObjectGetDefaultSubobjectByName (FName ToFind)
 
virtual COREUOBJECT_API void PostReinitProperties ()
 
virtual void PostCDOContruct ()
 
virtual COREUOBJECT_API void PreSaveRoot (FObjectPreSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PostSaveRoot (FObjectPostSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PreSave (FObjectPreSaveContext SaveContext)
 
virtual COREUOBJECT_API void CollectSaveOverrides (FObjectCollectSaveOverridesContext SaveContext)
 
UE_FORCEINLINE_HINT bool Modify (bool bAlwaysMarkDirty=true)
 
UE_FORCEINLINE_HINT bool IsCapturingAsRootObjectForTransaction () const
 
virtual bool ResolveSubobject (const TCHAR *SubObjectPath, UObject *&OutObject, bool bLoadIfExists)
 
virtual bool IsReadyForAsyncPostLoad () const
 
virtual COREUOBJECT_API void PostLoad ()
 
virtual COREUOBJECT_API void PostLoadSubobjects (FObjectInstancingGraph *OuterInstanceGraph)
 
virtual bool IsReadyForFinishDestroy ()
 
virtual COREUOBJECT_API void FinishDestroy ()
 
virtual COREUOBJECT_API void Serialize (FStructuredArchive::FRecord Record)
 
virtual void ShutdownAfterError ()
 
virtual void PostInterpChange (FProperty *PropertyThatChanged)
 
virtual COREUOBJECT_API void PostRename (UObject *OldOuter, const FName OldName)
 
virtual void PreDuplicate (FObjectDuplicationParameters &DupParams)
 
virtual void PostDuplicate (bool bDuplicateForPIE)
 
virtual void PostDuplicate (EDuplicateMode::Type DuplicateMode)
 
virtual COREUOBJECT_API bool NeedsLoadForClient () const
 
virtual COREUOBJECT_API bool NeedsLoadForServer () const
 
virtual COREUOBJECT_API bool NeedsLoadForTargetPlatform (const class ITargetPlatform *TargetPlatform) const
 
virtual bool NeedsLoadForEditorGame () const
 
virtual bool IsEditorOnly () const
 
virtual bool HasNonEditorOnlyReferences () const
 
virtual bool IsPostLoadThreadSafe () const
 
virtual COREUOBJECT_API bool IsDestructionThreadSafe () const
 
virtual COREUOBJECT_API void GetPreloadDependencies (TArray< UObject * > &OutDeps)
 
virtual void GetPrestreamPackages (TArray< UObject * > &OutPrestream)
 
virtual void ExportCustomProperties (FOutputDevice &Out, uint32 Indent)
 
virtual void ImportCustomProperties (const TCHAR *SourceText, FFeedbackContext *Warn)
 
virtual void PostEditImport ()
 
virtual void PostReloadConfig (class FProperty *PropertyThatWasLoaded)
 
virtual COREUOBJECT_API bool Rename (const TCHAR *NewName=nullptr, UObject *NewOuter=nullptr, ERenameFlags Flags=REN_None)
 
virtual FString GetDesc ()
 
COREUOBJECT_API UScriptStructGetSparseClassDataStruct () const
 
virtual bool GetNativePropertyValues (TMap< FString, FString > &out_PropertyValues, uint32 ExportFlags=0) const
 
virtual COREUOBJECT_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize)
 
SIZE_T GetResourceSizeBytes (EResourceSizeMode::Type Mode)
 
virtual FName GetExporterName (void)
 
COREUOBJECT_API void CallAddReferencedObjects (FReferenceCollector &Collector)
 
virtual FRestoreForUObjectOverwriteGetRestoreForUObjectOverwrite ()
 
virtual bool AreNativePropertiesIdenticalTo (UObject *Other) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (TArray< FAssetRegistryTag > &OutTags) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetData &Out) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context, FAssetData &Out) const
 
virtual COREUOBJECT_API bool IsAsset () const
 
virtual COREUOBJECT_API FPrimaryAssetId GetPrimaryAssetId () const
 
virtual COREUOBJECT_API bool IsLocalizedResource () const
 
virtual COREUOBJECT_API bool IsSafeForRootSet () const
 
virtual COREUOBJECT_API void TagSubobjects (EObjectFlags NewFlags)
 
virtual COREUOBJECT_API void GetLifetimeReplicatedProps (TArray< class FLifetimeProperty > &OutLifetimeProps) const
 
virtual COREUOBJECT_API void GetReplicatedCustomConditionState (FCustomPropertyConditionState &OutActiveState) const
 
virtual COREUOBJECT_API void RegisterReplicationFragments (UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags)
 
virtual COREUOBJECT_API bool IsNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsFullNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsSupportedForNetworking () const
 
virtual void GetSubobjectsWithStableNamesForNetworking (TArray< UObject * > &ObjList)
 
virtual COREUOBJECT_API void PreNetReceive ()
 
virtual COREUOBJECT_API void PostNetReceive ()
 
virtual void PostRepNotifies ()
 
virtual COREUOBJECT_API void PreDestroyFromReplication ()
 
COREUOBJECT_API bool IsSelected () const
 
COREUOBJECT_API void SerializeScriptProperties (FArchive &Ar) const
 
COREUOBJECT_API void SerializeScriptProperties (FStructuredArchive::FSlot Slot) const
 
COREUOBJECT_API void ReinitializeProperties (UObject *SourceObject=NULL, struct FObjectInstancingGraph *InstanceGraph=NULL)
 
COREUOBJECT_API FString GetDetailedInfo () const
 
COREUOBJECT_API bool ConditionalBeginDestroy ()
 
COREUOBJECT_API bool ConditionalFinishDestroy ()
 
COREUOBJECT_API void ConditionalPostLoad ()
 
COREUOBJECT_API void ConditionalPreload ()
 
COREUOBJECT_API void ConditionalPostLoadSubobjects (struct FObjectInstancingGraph *OuterInstanceGraph=NULL)
 
bool IsBasedOnArchetype (const UObject *const SomeObject) const
 
COREUOBJECT_API UFunctionFindFunction (FName InName) const
 
COREUOBJECT_API UFunctionFindFunctionChecked (FName InName) const
 
virtual COREUOBJECT_API void BuildSubobjectMapping (UObject *OtherObject, TMap< UObject *, UObject * > &ObjectMapping) const
 
COREUOBJECT_API void CollectDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects, bool bIncludeNestedSubobjects=false) const
 
COREUOBJECT_API bool CheckDefaultSubobjects (bool bForceCheck=false) const
 
COREUOBJECT_API void SaveConfig (uint64 RequiredPropertyFlags=CPF_Config, const TCHAR *Filename=nullptr, FConfigCacheIni *Config=GConfig, bool bAllowCopyToDefaultObject=true)
 
COREUOBJECT_API void SaveConfig (const FSaveConfigContext &Context)
 
COREUOBJECT_API void UpdateDefaultConfigFile (const FString &SpecificFileLocation="")
 
COREUOBJECT_API bool TryUpdateDefaultConfigFile (const FString &SpecificFileLocation="", bool bWarnIfFail=true)
 
COREUOBJECT_API void UpdateGlobalUserConfigFile ()
 
COREUOBJECT_API void UpdateProjectUserConfigFile ()
 
COREUOBJECT_API void UpdateSinglePropertyInConfigFile (const FProperty *InProperty, const FString &InConfigIniName)
 
COREUOBJECT_API FString GetDefaultConfigFilename () const
 
COREUOBJECT_API FString GetGlobalUserConfigFilename () const
 
COREUOBJECT_API FString GetProjectUserConfigFilename () const
 
virtual const TCHARGetConfigOverridePlatform () const
 
virtual void OverrideConfigSection (FString &SectionName)
 
virtual void OverridePerObjectConfigSection (FString &SectionName)
 
COREUOBJECT_API void LoadConfig (UClass *ConfigClass=nullptr, const TCHAR *Filename=nullptr, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=nullptr, TArray< UE::ConfigAccessTracking::FConfigAccessData > *OutAccessedKeys=nullptr)
 
COREUOBJECT_API void ReloadConfig (UClass *ConfigClass=NULL, const TCHAR *Filename=NULL, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=NULL)
 
COREUOBJECT_API void ParseParms (const TCHAR *Parms)
 
COREUOBJECT_API void OutputReferencers (FOutputDevice &Ar, FReferencerInformationList *Referencers=NULL)
 
COREUOBJECT_API void RetrieveReferencers (TArray< FReferencerInformation > *OutInternalReferencers, TArray< FReferencerInformation > *OutExternalReferencers)
 
COREUOBJECT_API void SetLinker (FLinkerLoad *LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting=true, bool bSilenceLogs=false)
 
COREUOBJECT_API UObjectGetArchetype () const
 
COREUOBJECT_API void GetArchetypeInstances (TArray< UObject * > &Instances)
 
COREUOBJECT_API void InstanceSubobjectTemplates (struct FObjectInstancingGraph *InstanceGraph=NULL)
 
template<class T >
bool Implements () const
 
virtual COREUOBJECT_API void ProcessEvent (UFunction *Function, void *Parms)
 
virtual int32 GetFunctionCallspace (UFunction *Function, FFrame *Stack)
 
virtual bool CallRemoteFunction (UFunction *Function, void *Parms, struct FOutParmRec *OutParms, FFrame *Stack)
 
COREUOBJECT_API bool CallFunctionByNameWithArguments (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor, bool bForceCallWithNonExec=false)
 
COREUOBJECT_API void CallFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
 DECLARE_FUNCTION (ProcessInternal)
 
virtual bool ProcessConsoleExec (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor)
 
COREUOBJECT_API void SkipFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
virtual UClassRegenerateClass (UClass *ClassToRegenerate, UObject *PreviousCDO)
 
COREUOBJECT_API bool IsInBlueprint () const
 
COREUOBJECT_API void DestroyNonNativeProperties ()
 
virtual void MarkAsEditorOnlySubobject ()
 
COREUOBJECT_API void AbortInsideMemberFunction () const
 
 DECLARE_FUNCTION (execUndefined)
 
 DECLARE_FUNCTION (execLocalVariable)
 
 DECLARE_FUNCTION (execInstanceVariable)
 
 DECLARE_FUNCTION (execDefaultVariable)
 
 DECLARE_FUNCTION (execLocalOutVariable)
 
 DECLARE_FUNCTION (execInterfaceVariable)
 
 DECLARE_FUNCTION (execClassSparseDataVariable)
 
 DECLARE_FUNCTION (execInterfaceContext)
 
 DECLARE_FUNCTION (execArrayElement)
 
 DECLARE_FUNCTION (execBoolVariable)
 
 DECLARE_FUNCTION (execClassDefaultVariable)
 
 DECLARE_FUNCTION (execEndFunctionParms)
 
 DECLARE_FUNCTION (execNothing)
 
 DECLARE_FUNCTION (execNothingInt32)
 
 DECLARE_FUNCTION (execNothingOp4a)
 
 DECLARE_FUNCTION (execBreakpoint)
 
 DECLARE_FUNCTION (execTracepoint)
 
 DECLARE_FUNCTION (execWireTracepoint)
 
 DECLARE_FUNCTION (execInstrumentation)
 
 DECLARE_FUNCTION (execEndOfScript)
 
 DECLARE_FUNCTION (execReturnNothing)
 
 DECLARE_FUNCTION (execEmptyParmValue)
 
 DECLARE_FUNCTION (execJump)
 
 DECLARE_FUNCTION (execJumpIfNot)
 
 DECLARE_FUNCTION (execAssert)
 
 DECLARE_FUNCTION (execPushExecutionFlow)
 
 DECLARE_FUNCTION (execPopExecutionFlow)
 
 DECLARE_FUNCTION (execComputedJump)
 
 DECLARE_FUNCTION (execPopExecutionFlowIfNot)
 
 DECLARE_FUNCTION (execLet)
 
 DECLARE_FUNCTION (execLetObj)
 
 DECLARE_FUNCTION (execLetWeakObjPtr)
 
 DECLARE_FUNCTION (execLetBool)
 
 DECLARE_FUNCTION (execLetDelegate)
 
 DECLARE_FUNCTION (execLetMulticastDelegate)
 
 DECLARE_FUNCTION (execAddMulticastDelegate)
 
 DECLARE_FUNCTION (execClearMulticastDelegate)
 
 DECLARE_FUNCTION (execEatReturnValue)
 
 DECLARE_FUNCTION (execRemoveMulticastDelegate)
 
 DECLARE_FUNCTION (execSelf)
 
 DECLARE_FUNCTION (execContext)
 
 DECLARE_FUNCTION (execContext_FailSilent)
 
 DECLARE_FUNCTION (execStructMemberContext)
 
 DECLARE_FUNCTION (execVirtualFunction)
 
 DECLARE_FUNCTION (execFinalFunction)
 
 DECLARE_FUNCTION (execLocalVirtualFunction)
 
 DECLARE_FUNCTION (execLocalFinalFunction)
 
 DECLARE_FUNCTION (execStructCmpEq)
 
 DECLARE_FUNCTION (execStructCmpNe)
 
 DECLARE_FUNCTION (execStructMember)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execNotEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execNotEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execIntConst)
 
 DECLARE_FUNCTION (execInt64Const)
 
 DECLARE_FUNCTION (execUInt64Const)
 
 DECLARE_FUNCTION (execSkipOffsetConst)
 
 DECLARE_FUNCTION (execFloatConst)
 
 DECLARE_FUNCTION (execDoubleConst)
 
 DECLARE_FUNCTION (execStringConst)
 
 DECLARE_FUNCTION (execUnicodeStringConst)
 
 DECLARE_FUNCTION (execTextConst)
 
 DECLARE_FUNCTION (execPropertyConst)
 
 DECLARE_FUNCTION (execObjectConst)
 
 DECLARE_FUNCTION (execSoftObjectConst)
 
 DECLARE_FUNCTION (execFieldPathConst)
 
 DECLARE_FUNCTION (execInstanceDelegate)
 
 DECLARE_FUNCTION (execNameConst)
 
 DECLARE_FUNCTION (execByteConst)
 
 DECLARE_FUNCTION (execIntZero)
 
 DECLARE_FUNCTION (execIntOne)
 
 DECLARE_FUNCTION (execTrue)
 
 DECLARE_FUNCTION (execFalse)
 
 DECLARE_FUNCTION (execNoObject)
 
 DECLARE_FUNCTION (execNullInterface)
 
 DECLARE_FUNCTION (execIntConstByte)
 
 DECLARE_FUNCTION (execRotationConst)
 
 DECLARE_FUNCTION (execVectorConst)
 
 DECLARE_FUNCTION (execVector3fConst)
 
 DECLARE_FUNCTION (execTransformConst)
 
 DECLARE_FUNCTION (execStructConst)
 
 DECLARE_FUNCTION (execSetArray)
 
 DECLARE_FUNCTION (execSetSet)
 
 DECLARE_FUNCTION (execSetMap)
 
 DECLARE_FUNCTION (execArrayConst)
 
 DECLARE_FUNCTION (execSetConst)
 
 DECLARE_FUNCTION (execMapConst)
 
 DECLARE_FUNCTION (execBitFieldConst)
 
 DECLARE_FUNCTION (execNew)
 
 DECLARE_FUNCTION (execClassContext)
 
 DECLARE_FUNCTION (execNativeParm)
 
 DECLARE_FUNCTION (execCast)
 
 DECLARE_FUNCTION (execDynamicCast)
 
 DECLARE_FUNCTION (execMetaCast)
 
 DECLARE_FUNCTION (execInterfaceCast)
 
 DECLARE_FUNCTION (execDoubleToFloatCast)
 
 DECLARE_FUNCTION (execFloatToDoubleCast)
 
 DECLARE_FUNCTION (execObjectToBool)
 
 DECLARE_FUNCTION (execInterfaceToBool)
 
 DECLARE_FUNCTION (execObjectToInterface)
 
 DECLARE_FUNCTION (execInterfaceToInterface)
 
 DECLARE_FUNCTION (execInterfaceToObject)
 
 DECLARE_FUNCTION (execGetDynArrayElement)
 
 DECLARE_FUNCTION (execSetDynArrayElement)
 
 DECLARE_FUNCTION (execGetDynArrayLength)
 
 DECLARE_FUNCTION (execSetDynArrayLength)
 
 DECLARE_FUNCTION (execDynArrayInsert)
 
 DECLARE_FUNCTION (execDynArrayRemove)
 
 DECLARE_FUNCTION (execDynArrayFind)
 
 DECLARE_FUNCTION (execDynArrayFindStruct)
 
 DECLARE_FUNCTION (execDynArrayAdd)
 
 DECLARE_FUNCTION (execDynArrayAddItem)
 
 DECLARE_FUNCTION (execDynArrayInsertItem)
 
 DECLARE_FUNCTION (execDynArrayRemoveItem)
 
 DECLARE_FUNCTION (execDynArraySort)
 
 DECLARE_FUNCTION (execBindDelegate)
 
 DECLARE_FUNCTION (execCallMulticastDelegate)
 
 DECLARE_FUNCTION (execLetValueOnPersistentFrame)
 
 DECLARE_FUNCTION (execCallMathFunction)
 
 DECLARE_FUNCTION (execSwitchValue)
 
 DECLARE_FUNCTION (execArrayGetByRef)
 
 DECLARE_FUNCTION (execAutoRtfmTransact)
 
 DECLARE_FUNCTION (execAutoRtfmStopTransact)
 
 DECLARE_FUNCTION (execAutoRtfmAbortIfNot)
 
void ExecuteUbergraph (int32 EntryPoint)
 
virtual void ValidateGeneratedRepEnums (const TArray< struct FRepRecord > &ClassReps) const
 
virtual uint64 GetNetPushIdDynamic () const
 
- Public Member Functions inherited from UObjectBaseUtility
 UObjectBaseUtility ()
 
 UObjectBaseUtility (EObjectFlags InFlags)
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags FlagsToClear)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
UE_FORCEINLINE_HINT EObjectFlags GetMaskedFlags (EObjectFlags Mask=RF_AllFlags) const
 
UE_FORCEINLINE_HINT void Mark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT void UnMark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAnyMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAllMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT EObjectMark GetAllMarks () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
UE_FORCEINLINE_HINT void AddToRoot ()
 
UE_FORCEINLINE_HINT void RemoveFromRoot ()
 
UE_FORCEINLINE_HINT bool IsRooted () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
bool ThisThreadAtomicallyClearedRFUnreachable ()
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT bool IsNative () const
 
void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
UE_FORCEINLINE_HINT EInternalObjectFlags GetInternalFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
void ClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
bool AtomicallyClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
COREUOBJECT_API FString GetFullName (const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (const UObject *StopOuter, FString &ResultString, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (FStringBuilderBase &ResultString, const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=NULL) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FString &ResultString) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
virtual bool CanBeClusterRoot () const
 
virtual COREUOBJECT_API bool CanBeInCluster () const
 
virtual COREUOBJECT_API void CreateCluster ()
 
virtual void OnClusterMarkedAsPendingKill ()
 
COREUOBJECT_API void AddToCluster (UObjectBaseUtility *ClusterRootOrObjectFromCluster, bool bAddAsMutableObject=false)
 
COREUOBJECT_API FString GetFullGroupName (bool bStartWithOuter) const
 
UE_FORCEINLINE_HINT FString GetName () const
 
UE_FORCEINLINE_HINT void GetName (FString &ResultString) const
 
UE_FORCEINLINE_HINT void AppendName (FString &ResultString) const
 
COREUOBJECT_API bool IsPackageExternal () const
 
COREUOBJECT_API void DetachExternalPackage ()
 
COREUOBJECT_API void ReattachExternalPackage ()
 
COREUOBJECT_API UObjectGetOutermostObject () const
 
COREUOBJECT_API UPackageGetPackage () const
 
UE_INTERNAL virtual COREUOBJECT_API UE::Core::FVersePath GetVersePath () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API bool MarkPackageDirty () const
 
COREUOBJECT_API bool IsTemplate (EObjectFlags TemplateTypes=RF_ArchetypeObject|RF_ClassDefaultObject) const
 
COREUOBJECT_API UObjectGetTypedOuter (UClass *Target) const
 
template<typename T >
T * GetTypedOuter () const
 
template<typename InterfaceClassType >
InterfaceClassTypeGetImplementingOuter () const
 
COREUOBJECT_API UObjectBaseUtilityGetImplementingOuterObject (const UClass *InInterfaceClass) const
 
COREUOBJECT_API bool IsIn (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsIn (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInOuter (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsInPackage (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInA (const UClass *SomeBaseClass) const
 
COREUOBJECT_API bool RootPackageHasAnyFlags (uint32 CheckFlagMask) const
 
template<typename OtherClassType >
bool IsA (OtherClassType SomeBase) const
 
template<class T >
bool IsA () const
 
COREUOBJECT_API const UClassFindNearestCommonBaseClass (const UClass *TestClass) const
 
COREUOBJECT_API voidGetInterfaceAddress (UClass *InterfaceClass)
 
COREUOBJECT_API voidGetNativeInterfaceAddress (UClass *InterfaceClass)
 
const voidGetNativeInterfaceAddress (UClass *InterfaceClass) const
 
COREUOBJECT_API bool IsTemplateForSubobjects (EObjectFlags TemplateTypes=RF_ClassDefaultObject|RF_DefaultSubObject|RF_InheritableComponentTemplate) const
 
COREUOBJECT_API bool IsDefaultSubobject () const
 
COREUOBJECT_API class FLinkerLoadGetLinker () const
 
COREUOBJECT_API int32 GetLinkerIndex () const
 
COREUOBJECT_API FPackageFileVersion GetLinkerUEVersion () const
 
int32 GetLinkerUE4Version () const
 
COREUOBJECT_API int32 GetLinkerLicenseeUEVersion () const
 
int32 GetLinkerLicenseeUE4Version () const
 
COREUOBJECT_API int32 GetLinkerCustomVersion (FGuid CustomVersionKey) const
 
UE_FORCEINLINE_HINT bool operator< (const UObjectBaseUtility &Other) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
- Public Member Functions inherited from UObjectBase
COREUOBJECT_API UObjectBase (UClass *InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName, int32 InInternalIndex=-1, int32 InSerialNumber=0, FRemoteObjectId InRemoteId=FRemoteObjectId())
 
virtual COREUOBJECT_API ~UObjectBase ()
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsValidLowLevelFast (bool bRecursive=true) const
 
FORCEINLINE uint32 GetUniqueID () const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE UObjectGetOuter () const
 
FORCEINLINE FName GetFName () const
 
virtual COREUOBJECT_API FName GetFNameForStatID () const
 
COREUOBJECT_API UPackageGetExternalPackage () const
 
COREUOBJECT_API void SetExternalPackage (UPackage *InPackage)
 
COREUOBJECT_API UPackageGetExternalPackageInternal () const
 
COREUOBJECT_API void MarkAsReachable () const
 
COREUOBJECT_API void AddRef () const
 
COREUOBJECT_API void ReleaseRef () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCENOINLINE void AtomicallySetFlags (EObjectFlags FlagsToAdd)
 
FORCENOINLINE void AtomicallyClearFlags (EObjectFlags FlagsToClear)
 

Static Public Member Functions

static ENGINE_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
- Static Public Member Functions inherited from UObject
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedServer (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedClient (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API bool CanCreateInCurrentContext (UObject *Template)
 
static COREUOBJECT_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static COREUOBJECT_API const FNameSourceFileTagName ()
 
static COREUOBJECT_API UObjectGetArchetypeFromRequiredInfo (const UClass *Class, const UObject *Outer, FName Name, EObjectFlags ObjectFlags)
 
- Static Public Member Functions inherited from UObjectBaseUtility
static bool IsGarbageEliminationEnabled ()
 
static bool IsPendingKillEnabled ()
 
static void SetGarbageEliminationEnabled (bool bEnabled)
 
static COREUOBJECT_API void ReloadObjectsFromModifiedConfigSections (const class FConfigModificationTracker *ChangeTracker)
 
- Static Public Member Functions inherited from UObjectBase
static COREUOBJECT_API FString RemoveClassPrefix (const TCHAR *ClassName)
 
static void PrefetchClass (UObject *Object)
 
static void PrefetchOuter (UObject *Object)
 

Public Attributes

FOnMontageBlendingOutStartedMCDelegate OnMontageBlendingOut
 
FOnMontageBlendedInEndedMCDelegate OnMontageBlendedIn
 
FOnMontageStartedMCDelegate OnMontageStarted
 
FOnMontageEndedMCDelegate OnMontageEnded
 
FOnAllMontageInstancesEndedMCDelegate OnAllMontageInstancesEnded
 
FOnMontageSectionChangedMCDelegate OnMontageSectionChanged
 
TArray< struct FAnimMontageInstance * > MontageInstances
 
int32 TransitionIndex
 
ETeleportType PendingDynamicResetTeleportType
 
FAnimNotifyQueue NotifyQueue
 
TArray< FAnimNotifyEventActiveAnimNotifyState
 
TArray< FAnimNotifyEventReferenceActiveAnimNotifyEventReference
 
FGraphTraversalCounter DebugDataCounter
 
FPlayMontageAnimNotifyDelegate OnPlayMontageNotifyBegin
 
FPlayMontageAnimNotifyDelegate OnPlayMontageNotifyEnd
 

Protected Member Functions

ENGINE_API void StopAllMontagesByGroupName (FName InGroupName, const FAlphaBlend &BlendOut)
 
ENGINE_API void StopAllMontagesByGroupName (FName InGroupName, const FMontageBlendSettings &BlendOutSettings)
 
virtual ENGINE_API void Montage_UpdateWeight (float DeltaSeconds)
 
virtual ENGINE_API void Montage_Advance (float DeltaSeconds)
 
ENGINE_API void Montage_StopInternal (TFunctionRef< FMontageBlendSettings(const FAnimMontageInstance *)> AlphaBlendSelectorFunction, const UAnimMontage *Montage=nullptr)
 
virtual ENGINE_API float Montage_PlayInternal (UAnimMontage *MontageToPlay, const FMontageBlendSettings &BlendInSettings, float InPlayRate=1.f, EMontagePlayReturnType ReturnValueType=EMontagePlayReturnType::MontageLength, float InTimeToStartMontageAt=0.f, bool bStopAllMontages=true)
 
virtual ENGINE_API bool HandleNotify (const FAnimNotifyEvent &AnimNotifyEvent)
 
ENGINE_API USkeletalMeshComponent * GetSkelMeshComponentChecked () const
 
ENGINE_API USkeletalMeshComponent * GetSkelMeshComponentUnchecked () const
 
ENGINE_API void UpdateMontageEvaluationData ()
 
virtual ENGINE_API void PreUpdateAnimation (float DeltaSeconds)
 
ENGINE_API void UpdateCurvesToComponents (USkeletalMeshComponent *Component)
 
virtual ENGINE_API FAnimInstanceProxyCreateAnimInstanceProxy ()
 
virtual ENGINE_API void DestroyAnimInstanceProxy (FAnimInstanceProxy *InProxy)
 
template<typename T >
T & GetProxyOnGameThread ()
 
template<typename T >
const T & GetProxyOnGameThread () const
 
template<typename T >
T & GetProxyOnAnyThread ()
 
template<typename T >
const T & GetProxyOnAnyThread () const
 
- Protected Member Functions inherited from UObject
virtual FString GetDetailedInfoInternal () const
 
COREUOBJECT_API bool CanCheckDefaultSubObjects (bool bForceCheck, bool &bResult) const
 
virtual COREUOBJECT_API bool CheckDefaultSubobjectsInternal () const
 
- Protected Member Functions inherited from UObjectBase
 UObjectBase ()
 
COREUOBJECT_API UObjectBase (EObjectFlags InFlags)
 
COREUOBJECT_API void LowLevelRename (FName NewName, UObject *NewOuter=NULL)
 
virtual void RegisterDependencies ()
 
COREUOBJECT_API void Register (class UClass *(*StaticClassFn)(), const TCHAR *PackageName, const TCHAR *Name)
 
COREUOBJECT_API void Register (const TCHAR *PackageName, const TCHAR *Name)
 
virtual COREUOBJECT_API void DeferredRegister (UClass *UClassStaticClass, const TCHAR *PackageName, const TCHAR *Name)
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 

Static Protected Member Functions

template<typename T >
static T * GetProxyOnGameThreadStatic (UAnimInstance *InAnimInstance)
 
static ENGINE_API bool IsSkeletalMeshComponent (const UObject *Object)
 
static ENGINE_API void HandleExistingParallelEvaluationTask (USkeletalMeshComponent *Component)
 

Protected Attributes

TMap< class UAnimMontage *, struct FAnimMontageInstance * > ActiveMontagesMap
 
TMap< FName, UE::Anim::FSlotInertializationRequestSlotGroupInertializationRequestMap
 
TMap< FName, FInertializationRequestSlotGroupInertializationRequestDataMap
 
FAnimInstanceProxyAnimInstanceProxy
 

Friends

struct FAnimNode_LinkedAnimGraph
 
struct FAnimNode_LinkedAnimLayer
 
struct FAnimInstanceProxy
 

Member Enumeration Documentation

◆ EUpdateAnimationFlag

Flag passed to UpdateAnimation, determines the path we follow

Enumerator
ForceParallelUpdate 

Enforces a parallel update, regardless of state

Default 

Use state to determine whether or not to immediately or update in parallel

Member Function Documentation

◆ AddCurveValue() [1/3]

void UAnimInstance::AddCurveValue ( const FName CurveName,
float  Value,
bool  bMorphtarget = false,
bool  bMaterial = false 
)

Add curve float data, using a curve name.

◆ AddCurveValue() [2/3]

void UAnimInstance::AddCurveValue ( const FSmartNameMapping Mapping,
const FName CurveName,
float  Value 
)
inline

◆ AddCurveValue() [3/3]

void UAnimInstance::AddCurveValue ( const SmartName::UID_Type  Uid,
float  Value 
)
inline

◆ AddExternalNotifyHandler()

void UAnimInstance::AddExternalNotifyHandler ( UObject ExternalHandlerObject,
FName  NotifyEventName 
)

Allows other UObjects to bind custom event notifies similarly to the AnimBP

◆ AddNativeStateEntryBinding()

void UAnimInstance::AddNativeStateEntryBinding ( const FName MachineName,
const FName StateName,
const FOnGraphStateChanged NativeEnteredDelegate 
)

◆ AddNativeStateExitBinding()

void UAnimInstance::AddNativeStateExitBinding ( const FName MachineName,
const FName StateName,
const FOnGraphStateChanged NativeExitedDelegate 
)

◆ AddNativeTransitionBinding()

void UAnimInstance::AddNativeTransitionBinding ( const FName MachineName,
const FName PrevStateName,
const FName NextStateName,
const FCanTakeTransition NativeTransitionDelegate,
const FName TransitionName = NAME_None 
)

◆ AddPoseSnapshot()

FPoseSnapshot & UAnimInstance::AddPoseSnapshot ( FName  SnapshotName)

Add an empty pose snapshot to the internal snapshot cache (or recycle an existing pose snapshot if the name is already in use)

◆ AddReferencedObjects()

void UAnimInstance::AddReferencedObjects ( UObject InThis,
FReferenceCollector Collector 
)
static

◆ AppendAnimationCurveList()

void UAnimInstance::AppendAnimationCurveList ( EAnimCurveType  Type,
TMap< FName, float > &  InOutCurveList 
) const

Append the type of curve to the OutCurveList specified by Curve Flags

◆ BeginDestroy()

void UAnimInstance::BeginDestroy ( )
overridevirtual

Called before destroying the object. This is called immediately upon deciding to destroy the object, to allow the object to begin an asynchronous cleanup process.

Reimplemented from UObject.

◆ Blueprint_GetMainAnimInstance()

UAnimInstance * UAnimInstance::Blueprint_GetMainAnimInstance ( ) const

Get the 'main' anim instance, i.e. the one that is hosted on the skeletal mesh component

◆ Blueprint_GetSlotMontageLocalWeight()

float UAnimInstance::Blueprint_GetSlotMontageLocalWeight ( FName  SlotNodeName) const

Get local weight of any montages this slot node is playing. If this slot is not currently playing a montage, it will return 0.

◆ BlueprintBeginPlay()

ENGINE_API void UAnimInstance::BlueprintBeginPlay ( )

Executed when begin play is called on the owning component

◆ BlueprintInitializeAnimation()

ENGINE_API void UAnimInstance::BlueprintInitializeAnimation ( )

Executed when the Animation is initialized

◆ BlueprintLinkedAnimationLayersInitialized()

ENGINE_API void UAnimInstance::BlueprintLinkedAnimationLayersInitialized ( )

Executed when the all Linked Animation Layers are initialized

◆ BlueprintPostEvaluateAnimation()

ENGINE_API void UAnimInstance::BlueprintPostEvaluateAnimation ( )

Executed after the Animation is evaluated

◆ BlueprintThreadSafeUpdateAnimation()

ENGINE_API void UAnimInstance::BlueprintThreadSafeUpdateAnimation ( float  DeltaTime)

Executed when the Animation Blueprint is updated on a worker thread, just prior to graph update

◆ BlueprintUpdateAnimation()

ENGINE_API void UAnimInstance::BlueprintUpdateAnimation ( float  DeltaTimeX)

Executed when the Animation is updated

◆ CalcSlotMontageLocalWeight()

float UAnimInstance::CalcSlotMontageLocalWeight ( const FName SlotNodeName) const

Get local weight of any montages this slot is playing. If this slot is not current playing a montage, it will return 0. This will return up to date data if called during Update or Evaluate.

◆ CalculateDirection()

float UAnimInstance::CalculateDirection ( const FVector Velocity,
const FRotator BaseRotation 
) const

◆ CanRunParallelWork()

virtual bool UAnimInstance::CanRunParallelWork ( ) const
inlinevirtual

◆ CanTransitionSignature()

bool UAnimInstance::CanTransitionSignature ( ) const

◆ ClearAllTransitionEvents()

void UAnimInstance::ClearAllTransitionEvents ( )

Removes all queued transition requests

◆ ClearLayerOverlay()

void UAnimInstance::ClearLayerOverlay ( TSubclassOf< UAnimInstance InClass)
inline

◆ ClearMontageInstanceReferences()

void UAnimInstance::ClearMontageInstanceReferences ( FAnimMontageInstance InMontageInstance)

◆ ClearMorphTargets()

void UAnimInstance::ClearMorphTargets ( )

Clears the current morph targets.

◆ ClearQueuedAnimEvents()

void UAnimInstance::ClearQueuedAnimEvents ( bool  bShouldUpdateActiveAnimNotifiesSinceLastTick)

Clear AnimEvents (AnimNotifies, Montage Events) queued. Note this is mainly needed for very specific scenarios where our notify queue is populated more than once per tick, avoid calling it if not needed.

◆ ClearTransitionEvents()

void UAnimInstance::ClearTransitionEvents ( const FName  EventName)

Removes all queued transition requests with the given event name

◆ ConditionalFlushCompletedMontages()

void UAnimInstance::ConditionalFlushCompletedMontages ( )

Flush completed montages when animation tick is paused. This can be used to prevent montages from infinitely stacking up when not ticking.

◆ ConsumeExtractedRootMotion()

FRootMotionMovementParams UAnimInstance::ConsumeExtractedRootMotion ( float  Alpha)

Get current accumulated root motion, removing it from the AnimInstance in the process

◆ CopyCurveValues()

void UAnimInstance::CopyCurveValues ( const UAnimInstance InSourceInstance)

Copy curves from external source

◆ CreateAnimInstanceProxy()

FAnimInstanceProxy * UAnimInstance::CreateAnimInstanceProxy ( )
protectedvirtual

Override point for derived classes to create their own proxy objects (allows custom allocation)

Reimplemented in UAnimSequencerInstance, UAnimSingleNodeInstance, and ULiveLinkInstance.

◆ DestroyAnimInstanceProxy()

void UAnimInstance::DestroyAnimInstanceProxy ( FAnimInstanceProxy InProxy)
protectedvirtual

Override point for derived classes to destroy their own proxy objects (allows custom allocation)

Reimplemented in ULiveLinkInstance.

◆ DispatchQueuedAnimEvents()

void UAnimInstance::DispatchQueuedAnimEvents ( )

Dispatch AnimEvents (AnimNotifies, Montage Events) queued during UpdateAnimation()

◆ DisplayDebug()

void UAnimInstance::DisplayDebug ( UCanvas Canvas,
const FDebugDisplayInfo DebugDisplay,
float YL,
float YPos 
)

◆ DisplayDebugInstance()

void UAnimInstance::DisplayDebugInstance ( FDisplayDebugManager DisplayDebugManager,
float Indent 
)
virtual

◆ DynamicMontage_IsPlayingFrom()

bool UAnimInstance::DynamicMontage_IsPlayingFrom ( const UAnimSequenceBase Animation) const

Returns true if there is an animation montage is currently active and playing that was created from the provided animation.

◆ EnableUpdateAnimation()

void UAnimInstance::EnableUpdateAnimation ( bool  bEnable)
inline

◆ EndNotifyStates()

void UAnimInstance::EndNotifyStates ( )

Triggers end on active notify states and clears the array

◆ FindSubsystem() [1/2]

template<typename SubsystemType >
SubsystemType * UAnimInstance::FindSubsystem ( )
inline

◆ FindSubsystem() [2/2]

FAnimSubsystemInstance * UAnimInstance::FindSubsystem ( UScriptStruct InSubsystemType)

◆ GatherDebugData()

void UAnimInstance::GatherDebugData ( FNodeDebugData DebugData)

Gather debug data from this instance proxy and the blend tree for display

◆ GetActiveCurveNames()

void UAnimInstance::GetActiveCurveNames ( EAnimCurveType  CurveType,
TArray< FName > &  OutNames 
) const

This returns last up-to-date list of active curve names

◆ GetActiveInstanceForMontage()

FAnimMontageInstance * UAnimInstance::GetActiveInstanceForMontage ( const UAnimMontage Montage) const

Get Active FAnimMontageInstance for given Montage asset. Will return NULL if Montage is not currently Active.

◆ GetActiveMontageInstance()

FAnimMontageInstance * UAnimInstance::GetActiveMontageInstance ( ) const

Get Currently active montage instance. Note that there might be multiple Active at the same time. This will only return the first active one it finds.

◆ GetAllCurveNames()

void UAnimInstance::GetAllCurveNames ( TArray< FName > &  OutNames) const

◆ GetAnimationCurveList() [1/2]

const TMap< FName, float > & UAnimInstance::GetAnimationCurveList ( EAnimCurveType  Type) const

Return the list of curves that are specified by type

◆ GetAnimationCurveList() [2/2]

void UAnimInstance::GetAnimationCurveList ( EAnimCurveType  Type,
TMap< FName, float > &  InOutCurveList 
) const

◆ GetAnimationCurves()

const TMap< FName, float > & UAnimInstance::GetAnimationCurves ( EAnimCurveType  InCurveType) const

Get the current value of all animation curves

◆ GetBlendProfileByName()

const UBlendProfile * UAnimInstance::GetBlendProfileByName ( FName  InBlendProfileName) const

Returns a blend profile by name from our current skeleton. Null if not found.

◆ GetCurrentActiveMontage()

UAnimMontage * UAnimInstance::GetCurrentActiveMontage ( ) const

Get a current Active Montage in this AnimInstance. Note that there might be multiple Active at the same time. This will only return the first active one it finds.

◆ GetCurrentStateName()

FName UAnimInstance::GetCurrentStateName ( int32  MachineIndex)

Returns the name of a currently active state in a state machine.

◆ GetCurveValue() [1/2]

float UAnimInstance::GetCurveValue ( FName  CurveName) const

Returns the value of a named curve.

◆ GetCurveValue() [2/2]

bool UAnimInstance::GetCurveValue ( FName  CurveName,
float OutValue 
) const

Returns value of named curved in OutValue, returns whether the curve was actually found or not.

◆ GetCurveValueWithDefault()

bool UAnimInstance::GetCurveValueWithDefault ( FName  CurveName,
float  DefaultValue,
float OutValue 
)

Returns whether a named curve was found, its value, and a default value when it's not found.

Parameters
AnimInstanceThe anim instance to find this curve value for.
CurveNameThe name of the curve.
DefaultValueValue to use when the curve is not found.
OutValueThe curve's value.

◆ GetDeltaSeconds()

float UAnimInstance::GetDeltaSeconds ( ) const

Get the current delta time

◆ GetInstanceAssetPlayerIndex()

int32 UAnimInstance::GetInstanceAssetPlayerIndex ( FName  MachineName,
FName  StateName,
FName  InstanceName = NAME_None 
) const

Get the index of the specified instance asset player. Useful to pass to GetInstanceAssetPlayerLength (etc.). Passing NAME_None to InstanceName will return the first (assumed only) player instance index found.

◆ GetInstanceAssetPlayerLength()

float UAnimInstance::GetInstanceAssetPlayerLength ( int32  AssetPlayerIndex)

NOTE: Derived anim getters

Anim getter functions can be defined for any instance deriving UAnimInstance. To do this the function must be marked BlueprintPure, and have the AnimGetter metadata entry set to "true". Following the instructions below, getters should appear correctly in the blueprint node context menu for the derived classes

A context string can be provided in the GetterContext metadata and can contain any (or none) of the following entries separated by a pipe (|) Transition - Only available in a transition rule AnimGraph - Only available in an animgraph (also covers state anim graphs) CustomBlend - Only available in a custom blend graph

Anim getters support a number of automatic parameters that will be baked at compile time to be passed to the functions. They will not appear as pins on the graph node. They are as follows: AssetPlayerIndex - Index of an asset player node to operate on, one getter will be added to the blueprint action list per asset node available MachineIndex - Index of a state machine in the animation blueprint, one getter will be added to the blueprint action list per state machine StateIndex - Index of a state inside a state machine, also requires MachineIndex. One getter will be added to the blueprint action list per state TransitionIndex - Index of a transition inside a state machine, also requires MachineIndex. One getter will be added to the blueprint action list per transition Gets the length in seconds of the asset referenced in an asset player node

◆ GetInstanceAssetPlayers()

TArray< const FAnimNode_AssetPlayerBase * > UAnimInstance::GetInstanceAssetPlayers ( const FName GraphName) const

Returns all Animation Nodes of FAnimNode_AssetPlayerBase class within the specified (named) Animation Graph

◆ GetInstanceAssetPlayerTime()

float UAnimInstance::GetInstanceAssetPlayerTime ( int32  AssetPlayerIndex)

Get the current accumulated time in seconds for an asset player node

◆ GetInstanceAssetPlayerTimeFromEnd()

float UAnimInstance::GetInstanceAssetPlayerTimeFromEnd ( int32  AssetPlayerIndex)

Get the time in seconds from the end of an animation in an asset player node

◆ GetInstanceCurrentStateElapsedTime()

float UAnimInstance::GetInstanceCurrentStateElapsedTime ( int32  MachineIndex)

Get the current elapsed time of a state within the specified state machine

◆ GetInstanceForMontage()

FAnimMontageInstance * UAnimInstance::GetInstanceForMontage ( const UAnimMontage Montage) const

Get FAnimMontageInstance for given Montage asset (even when blending out). Will return NULL if Montage is not currently playing.

◆ GetInstanceMachineWeight()

float UAnimInstance::GetInstanceMachineWeight ( int32  MachineIndex)

Get the blend weight of a specified state machine

◆ GetInstanceRelevantAssetPlayers()

TArray< const FAnimNode_AssetPlayerRelevancyBase * > UAnimInstance::GetInstanceRelevantAssetPlayers ( const FName GraphName) const

Returns all Animation Nodes implementing FAnimNode_AssetPlayerRelevancyBase within the specified (named) Animation Graph

◆ GetInstanceStateWeight()

float UAnimInstance::GetInstanceStateWeight ( int32  MachineIndex,
int32  StateIndex 
)

Get the blend weight of a specified state

◆ GetInstanceTransitionCrossfadeDuration()

float UAnimInstance::GetInstanceTransitionCrossfadeDuration ( int32  MachineIndex,
int32  TransitionIndex 
)

Get the crossfade duration of a specified transition

◆ GetInstanceTransitionTimeElapsed()

float UAnimInstance::GetInstanceTransitionTimeElapsed ( int32  MachineIndex,
int32  TransitionIndex 
)

Get the elapsed time in seconds of a specified transition

◆ GetLastMontageFlushFrame()

uint32 UAnimInstance::GetLastMontageFlushFrame ( ) const

◆ GetLayerSubInstanceByClass()

UAnimInstance * UAnimInstance::GetLayerSubInstanceByClass ( TSubclassOf< UAnimInstance InClass) const
inline

◆ GetLayerSubInstanceByGroup()

UAnimInstance * UAnimInstance::GetLayerSubInstanceByGroup ( FName  InGroup) const
inline

◆ GetLinkedAnimGraphInstanceByTag()

UAnimInstance * UAnimInstance::GetLinkedAnimGraphInstanceByTag ( FName  InTag) const

Runs through all nodes, attempting to find the first linked instance by name/tag

◆ GetLinkedAnimGraphInstancesByTag()

void UAnimInstance::GetLinkedAnimGraphInstancesByTag ( FName  InTag,
TArray< UAnimInstance * > &  OutLinkedInstances 
) const

Runs through all nodes, attempting to find all linked instances that match the name/tag

◆ GetLinkedAnimLayerInstanceByClass()

UAnimInstance * UAnimInstance::GetLinkedAnimLayerInstanceByClass ( TSubclassOf< UAnimInstance InClass,
bool  bCheckForChildClass = false 
) const

Gets the first layer linked instance corresponding to the specified class, optionally if bCheckForChildClass is true, it will check IsChildOf on InClass.

◆ GetLinkedAnimLayerInstanceByGroup()

UAnimInstance * UAnimInstance::GetLinkedAnimLayerInstanceByGroup ( FName  InGroup) const

Gets the layer linked instance corresponding to the specified group

◆ GetLinkedAnimLayerInstanceByGroupAndClass()

UAnimInstance * UAnimInstance::GetLinkedAnimLayerInstanceByGroupAndClass ( FName  InGroup,
TSubclassOf< UAnimInstance InClass 
) const

Gets layer linked instance that matches group and class

◆ GetLinkedAnimLayerInstancesByGroup()

void UAnimInstance::GetLinkedAnimLayerInstancesByGroup ( FName  InGroup,
TArray< UAnimInstance * > &  OutLinkedInstances 
) const

Runs through all nodes, attempting to find all distinct layer linked instances in the group

◆ GetLinkedInputPoseNode()

FAnimNode_LinkedInputPose * UAnimInstance::GetLinkedInputPoseNode ( FName  InSubInput = NAME_None,
FName  InGraph = NAME_None 
)

Get a linked input pose node by name, given a named graph.

Parameters
InSubInputThe name of the linked input pose. If this is NAME_None, then we assume that the desired input is FAnimNode_LinkedInputPose::DefaultInputPoseName.
InGraphThe name of the graph in which to find the linked input. If this is NAME_None, then we assume that the desired graph is "AnimGraph", the default.

◆ GetLODLevel()

int32 UAnimInstance::GetLODLevel ( ) const
virtual

Get the 'animation' LOD level, which by default is the PredictedLODLevel of this anim instance's skeletal mesh component. This function is used by the anim graph to determine the LOD level at which to run.

Returns
the current LOD level

◆ GetMachineDescription()

const FBakedAnimationStateMachine * UAnimInstance::GetMachineDescription ( IAnimClassInterface AnimBlueprintClass,
FAnimNode_StateMachine MachineInstance 
)

Get the machine description for the specified instance. Does not rely on PRIVATE_MachineDescription being initialized

◆ GetMontageInstanceForID()

FAnimMontageInstance * UAnimInstance::GetMontageInstanceForID ( int32  MontageInstanceID)

Get the FAnimMontageInstance currently running that matches this ID. Will return NULL if no instance is found.

◆ GetMutableInstanceAssetPlayers()

TArray< FAnimNode_AssetPlayerBase * > UAnimInstance::GetMutableInstanceAssetPlayers ( const FName GraphName)

Returns all Animation Nodes of FAnimNode_AssetPlayerBase class within the specified (named) Animation Graph

◆ GetMutableInstanceRelevantAssetPlayers()

TArray< FAnimNode_AssetPlayerRelevancyBase * > UAnimInstance::GetMutableInstanceRelevantAssetPlayers ( const FName GraphName)

Returns all Animation Nodes of FAnimNode_AssetPlayerRelevancyBase class within the specified (named) Animation Graph

◆ GetOwningActor()

AActor * UAnimInstance::GetOwningActor ( ) const

Returns the owning actor of this AnimInstance

◆ GetOwningComponent()

USkeletalMeshComponent * UAnimInstance::GetOwningComponent ( ) const

◆ GetPoseSnapshot()

const FPoseSnapshot * UAnimInstance::GetPoseSnapshot ( FName  SnapshotName) const

Get a cached pose snapshot by name

◆ GetPropagateNotifiesToLinkedInstances()

bool UAnimInstance::GetPropagateNotifiesToLinkedInstances ( ) const
inline

Get whether to propagate notifies to any linked anim instances

◆ GetProxyOnAnyThread() [1/2]

template<typename T >
T & UAnimInstance::GetProxyOnAnyThread ( )
inlineprotected

Access the proxy but block if a task is currently in progress (and we are on the game thread) as it wouldn't be safe to access it

◆ GetProxyOnAnyThread() [2/2]

template<typename T >
const T & UAnimInstance::GetProxyOnAnyThread ( ) const
inlineprotected

Access the proxy but block if a task is currently in progress (and we are on the game thread) as it wouldn't be safe to access it

◆ GetProxyOnGameThread() [1/2]

template<typename T >
T & UAnimInstance::GetProxyOnGameThread ( )
inlineprotected

Access the proxy but block if a task is currently in progress as it wouldn't be safe to access it

◆ GetProxyOnGameThread() [2/2]

template<typename T >
const T & UAnimInstance::GetProxyOnGameThread ( ) const
inlineprotected

Access the proxy but block if a task is currently in progress as it wouldn't be safe to access it

◆ GetProxyOnGameThreadStatic()

template<typename T >
static T * UAnimInstance::GetProxyOnGameThreadStatic ( UAnimInstance InAnimInstance)
inlinestaticprotected

Access the proxy but block if a task is currently in progress as it wouldn't be safe to access it This is protected static member for allowing derived to access

◆ GetReceiveNotifiesFromLinkedInstances()

bool UAnimInstance::GetReceiveNotifiesFromLinkedInstances ( ) const
inline

Get whether to process notifies from any linked anim instances

◆ GetRelevantAnimLength()

float UAnimInstance::GetRelevantAnimLength ( int32  MachineIndex,
int32  StateIndex 
)

Get the length in seconds of the most relevant animation in the source state

◆ GetRelevantAnimTime()

float UAnimInstance::GetRelevantAnimTime ( int32  MachineIndex,
int32  StateIndex 
)

Get the current accumulated time in seconds for the most relevant animation in the source state

◆ GetRelevantAnimTimeFraction()

float UAnimInstance::GetRelevantAnimTimeFraction ( int32  MachineIndex,
int32  StateIndex 
)

Get the current accumulated time as a fraction of the length of the most relevant animation in the source state

◆ GetRelevantAnimTimeRemaining()

float UAnimInstance::GetRelevantAnimTimeRemaining ( int32  MachineIndex,
int32  StateIndex 
)

Get the time remaining in seconds for the most relevant animation in the source state

◆ GetRelevantAnimTimeRemainingFraction()

float UAnimInstance::GetRelevantAnimTimeRemainingFraction ( int32  MachineIndex,
int32  StateIndex 
)

Get the time remaining as a fraction of the duration for the most relevant animation in the source state

◆ GetRelevantAssetPlayerFromState()

const FAnimNode_AssetPlayerBase * UAnimInstance::GetRelevantAssetPlayerFromState ( int32  MachineIndex,
int32  StateIndex 
) const
inline

Gets the most relevant asset player in a specified state

◆ GetRelevantAssetPlayerInterfaceFromState()

const FAnimNode_AssetPlayerRelevancyBase * UAnimInstance::GetRelevantAssetPlayerInterfaceFromState ( int32  MachineIndex,
int32  StateIndex 
) const

Gets the most relevant asset player in a specified state

◆ GetRequiredBones() [1/2]

FBoneContainer & UAnimInstance::GetRequiredBones ( )

Access the required bones array

◆ GetRequiredBones() [2/2]

const FBoneContainer & UAnimInstance::GetRequiredBones ( ) const

◆ GetRequiredBonesOnAnyThread()

const FBoneContainer & UAnimInstance::GetRequiredBonesOnAnyThread ( ) const

◆ GetRootMotionMontageInstance()

FAnimMontageInstance * UAnimInstance::GetRootMotionMontageInstance ( ) const

Get current RootMotion FAnimMontageInstance if any. NULL otherwise.

◆ GetSkelMeshComponent()

USkeletalMeshComponent * UAnimInstance::GetSkelMeshComponent ( ) const
inline

Returns the associated skeletal mesh component. This will always be non-NULL.

◆ GetSkelMeshComponentChecked()

USkeletalMeshComponent * UAnimInstance::GetSkelMeshComponentChecked ( ) const
protected

Returns the associated skeletal mesh component. Will assert if invalid.

◆ GetSkelMeshComponentUnchecked()

USkeletalMeshComponent * UAnimInstance::GetSkelMeshComponentUnchecked ( ) const
protected

Returns the associated skeletal mesh component, or NULL if invalid/unset.

◆ GetSlotMontageGlobalWeight()

float UAnimInstance::GetSlotMontageGlobalWeight ( const FName SlotNodeName) const

Get Global weight of any montages this slot node is playing. If this slot is not currently playing a montage, it will return 0.

◆ GetSlotMontageLocalWeight()

float UAnimInstance::GetSlotMontageLocalWeight ( const FName SlotNodeName) const

Get local weight of any montages this slot node is playing. If this slot is not currently playing a montage, it will return 0. This is double buffered, will return last frame data if called from Update or Evaluate.

◆ GetSlotNodeGlobalWeight()

float UAnimInstance::GetSlotNodeGlobalWeight ( const FName SlotNodeName) const

Get global weight in AnimGraph for this slot node. Note: this is the weight of the node, not the weight of any potential montage it is playing.

◆ GetStateMachineIndex()

int32 UAnimInstance::GetStateMachineIndex ( FName  MachineName) const

Gets the index of the state machine matching MachineName

◆ GetStateMachineIndexAndDescription()

void UAnimInstance::GetStateMachineIndexAndDescription ( FName  InMachineName,
int32 OutMachineIndex,
const FBakedAnimationStateMachine **  OutMachineDescription 
)

◆ GetStateMachineInstance()

const FAnimNode_StateMachine * UAnimInstance::GetStateMachineInstance ( int32  MachineIndex) const

Gets the runtime instance of the specified state machine

◆ GetStateMachineInstanceDesc()

const FBakedAnimationStateMachine * UAnimInstance::GetStateMachineInstanceDesc ( FName  MachineName) const

Gets the runtime instance desc of the state machine specified by name

◆ GetStateMachineInstanceFromName()

const FAnimNode_StateMachine * UAnimInstance::GetStateMachineInstanceFromName ( FName  MachineName) const

Gets the runtime instance of the specified state machine by Name

◆ GetSubInputNode()

FAnimNode_LinkedInputPose * UAnimInstance::GetSubInputNode ( FName  InSubInput = NAME_None,
FName  InGraph = NAME_None 
)
inline

◆ GetSubInstanceByTag()

UAnimInstance * UAnimInstance::GetSubInstanceByTag ( FName  InTag) const
inline

◆ GetSubInstancesByTag()

ENGINE_API void UAnimInstance::GetSubInstancesByTag ( FName  InTag,
TArray< UAnimInstance * > &  OutSubInstances 
) const

◆ GetSubsystem()

template<typename SubsystemType >
SubsystemType & UAnimInstance::GetSubsystem ( )
inline

◆ GetSyncGroupIndexFromName()

int32 UAnimInstance::GetSyncGroupIndexFromName ( FName  SyncGroupName) const

Returns the baked sync group index from the compile step

◆ GetSyncGroupMapRead()

const TMap< FName, FAnimGroupInstance > & UAnimInstance::GetSyncGroupMapRead ( ) const

Get the sync group we are currently reading from

◆ GetSyncGroupPosition()

FMarkerSyncAnimPosition UAnimInstance::GetSyncGroupPosition ( FName  InSyncGroupName) const

◆ GetTimeToClosestMarker()

bool UAnimInstance::GetTimeToClosestMarker ( FName  SyncGroup,
FName  MarkerName,
float OutMarkerTime 
) const

◆ GetUngroupedActivePlayersRead()

const TArray< FAnimTickRecord > & UAnimInstance::GetUngroupedActivePlayersRead ( )

Get the ungrouped active player we are currently reading from

◆ GetUpdateCounter()

const FGraphTraversalCounter & UAnimInstance::GetUpdateCounter ( ) const

Access a read only version of the Updater Counter from the AnimInstanceProxy on the GameThread.

◆ GetWorld()

UWorld * UAnimInstance::GetWorld ( ) const
overridevirtual

◆ HandleExistingParallelEvaluationTask()

void UAnimInstance::HandleExistingParallelEvaluationTask ( USkeletalMeshComponent *  Component)
staticprotected

◆ HandleNotify()

bool UAnimInstance::HandleNotify ( const FAnimNotifyEvent AnimNotifyEvent)
protectedvirtual

Implementable custom function to handle notifies

◆ HasActiveCurves()

bool UAnimInstance::HasActiveCurves ( ) const

Check whether we have any active curves

◆ HasMarkerBeenHitThisFrame()

bool UAnimInstance::HasMarkerBeenHitThisFrame ( FName  SyncGroup,
FName  MarkerName 
) const

◆ HasMorphTargetCurves()

bool UAnimInstance::HasMorphTargetCurves ( ) const

Check whether we have active morph target curves

◆ HasNativeStateEntryBinding()

bool UAnimInstance::HasNativeStateEntryBinding ( const FName MachineName,
const FName StateName,
FName OutBindingName 
)

◆ HasNativeStateExitBinding()

bool UAnimInstance::HasNativeStateExitBinding ( const FName MachineName,
const FName StateName,
FName OutBindingName 
)

◆ HasNativeTransitionBinding()

bool UAnimInstance::HasNativeTransitionBinding ( const FName MachineName,
const FName PrevStateName,
const FName NextStateName,
FName OutBindingName 
)

◆ InitializeAnimation()

void UAnimInstance::InitializeAnimation ( bool  bInDeferRootNodeInitialization = false)

◆ InitializeGroupedLayers()

void UAnimInstance::InitializeGroupedLayers ( bool  bInDeferSubGraphInitialization)

Sets up initial layer groupings

◆ IsAnyMontagePlaying()

bool UAnimInstance::IsAnyMontagePlaying ( ) const

Returns true if any montage is playing currently. Doesn't mean it's active though, it could be blending out.

◆ IsInitialized()

bool UAnimInstance::IsInitialized ( ) const

◆ IsPlayingSlotAnimation() [1/2]

bool UAnimInstance::IsPlayingSlotAnimation ( const UAnimSequenceBase Asset,
FName  SlotNodeName 
) const

Return true if it's playing the slot animation

◆ IsPlayingSlotAnimation() [2/2]

bool UAnimInstance::IsPlayingSlotAnimation ( const UAnimSequenceBase Asset,
FName  SlotNodeName,
UAnimMontage *&  OutMontage 
) const

Return true if this instance playing the slot animation, also returning the montage it is playing on

◆ IsRunningParallelEvaluation()

bool UAnimInstance::IsRunningParallelEvaluation ( ) const

◆ IsSkeletalMeshComponent()

bool UAnimInstance::IsSkeletalMeshComponent ( const UObject Object)
staticprotected

◆ IsSlotActive()

bool UAnimInstance::IsSlotActive ( FName  SlotNodeName) const

Return true if this instance has an active montage in the given slot. A UAnimMontage that is playing in the slot and blending out is not determined to be "active".

◆ IsSyncGroupBetweenMarkers()

bool UAnimInstance::IsSyncGroupBetweenMarkers ( FName  InSyncGroupName,
FName  PreviousMarker,
FName  NextMarker,
bool  bRespectMarkerOrder = true 
) const

◆ IsUpdateAnimationEnabled()

bool UAnimInstance::IsUpdateAnimationEnabled ( ) const
inline

◆ IsUsingMainInstanceMontageEvaluationData()

bool UAnimInstance::IsUsingMainInstanceMontageEvaluationData ( ) const
inline

◆ LinkAnimClassLayers()

void UAnimInstance::LinkAnimClassLayers ( TSubclassOf< UAnimInstance InClass)
virtual

Runs through all layer nodes, attempting to find layer nodes that are implemented by the specified class, then sets up a linked instance of the class for each. Allocates one linked instance to run each of the groups specified in the class, so state is shared. If a layer is not grouped (ie. NAME_None), then state is not shared and a separate linked instance is allocated for each layer node. If InClass is null, then all layers are reset to their defaults.

◆ LinkAnimGraphByTag()

void UAnimInstance::LinkAnimGraphByTag ( FName  InTag,
TSubclassOf< UAnimInstance InClass 
)

Runs through all nodes, attempting to find a linked instance by name/tag, then sets the class of each node if the tag matches

◆ LockAIResources()

void UAnimInstance::LockAIResources ( bool  bLockMovement,
bool  LockAILogic 
)

locks indicated AI resources of animated pawn DEPRECATED. Use LockAIResourcesWithAnimation instead

◆ MakeMontageTickRecord()

PRAGMA_ENABLE_DEPRECATION_WARNINGS void UAnimInstance::MakeMontageTickRecord ( FAnimTickRecord TickRecord,
class UAnimMontage Montage,
float  MoveDelta,
float  Weight,
TArray< FPassedMarker > &  MarkersPassedThisTick,
FMarkerTickRecord MarkerTickRecord 
)

◆ Montage_Advance()

void UAnimInstance::Montage_Advance ( float  DeltaSeconds)
protectedvirtual

Advance montages

Reimplemented in UAnimSingleNodeInstance.

◆ Montage_GetBlendingOutDelegate()

FOnMontageBlendingOutStarted * UAnimInstance::Montage_GetBlendingOutDelegate ( UAnimMontage Montage = NULL)

Get pointer to BlendingOutStarted delegate for Montage. If Montage reference is NULL, it will pick the first active montage found.

◆ Montage_GetBlendTime()

float UAnimInstance::Montage_GetBlendTime ( const UAnimMontage Montage) const

Get the current blend time of the Montage. If Montage reference is NULL, it will return the current blend time on the first active Montage found.

◆ Montage_GetCurrentSection()

FName UAnimInstance::Montage_GetCurrentSection ( const UAnimMontage Montage = NULL) const

Returns the name of the current animation montage section.

◆ Montage_GetEffectivePlayRate()

float UAnimInstance::Montage_GetEffectivePlayRate ( const UAnimMontage Montage) const

Get scaled PlayRate for Montage. This accounts for RateScale, so it will reflect the actual play rate seen in game. If Montage reference is NULL, scaled PlayRate for any Active Montage will be returned. If Montage is not playing, 0 is returned.

◆ Montage_GetEndedDelegate()

FOnMontageEnded * UAnimInstance::Montage_GetEndedDelegate ( UAnimMontage Montage = nullptr)

Get pointer to Ended delegate for Montage. If Montage reference is NULL, it will pick the first active montage found.

◆ Montage_GetIsStopped()

bool UAnimInstance::Montage_GetIsStopped ( const UAnimMontage Montage) const

return true if Montage is not currently active. (not valid or blending out)

◆ Montage_GetNextSectionID()

int32 UAnimInstance::Montage_GetNextSectionID ( const UAnimMontage Montage,
int32 const &  CurrentSectionID 
) const

Get next sectionID for given section ID

◆ Montage_GetPlayRate()

float UAnimInstance::Montage_GetPlayRate ( const UAnimMontage Montage) const

Get PlayRate for Montage. This does not account for RateScale, so it may not reflect the actual play rate seen in game (see Montage_GetEffectivePlayRate). If Montage reference is NULL, PlayRate for any Active Montage will be returned. If Montage is not playing, 0 is returned.

◆ Montage_GetPosition()

float UAnimInstance::Montage_GetPosition ( const UAnimMontage Montage) const

Get Current Montage Position

◆ Montage_GetSectionChangedDelegate()

FOnMontageSectionChanged * UAnimInstance::Montage_GetSectionChangedDelegate ( UAnimMontage Montage = NULL)

Get pointer to SectionChanged delegate for Montage. If Montage reference is NULL, it will pick the first active montage found.

◆ Montage_IsActive()

bool UAnimInstance::Montage_IsActive ( const UAnimMontage Montage) const

Returns true if the animation montage is active. If the Montage reference is NULL, it will return true if any Montage is active.

◆ Montage_IsPlaying()

bool UAnimInstance::Montage_IsPlaying ( const UAnimMontage Montage) const

Returns true if the animation montage is currently active and playing. If reference is NULL, it will return true is ANY montage is currently active and playing.

◆ Montage_JumpToSection()

void UAnimInstance::Montage_JumpToSection ( FName  SectionName,
const UAnimMontage Montage = NULL 
)

Makes a montage jump to a named section. If Montage reference is NULL, it will do that to all active montages.

◆ Montage_JumpToSectionsEnd()

void UAnimInstance::Montage_JumpToSectionsEnd ( FName  SectionName,
const UAnimMontage Montage = NULL 
)

Makes a montage jump to the end of a named section. If Montage reference is NULL, it will do that to all active montages.

◆ Montage_Pause()

void UAnimInstance::Montage_Pause ( const UAnimMontage Montage = NULL)

Pauses the animation montage. If reference is NULL, it will pause ALL active montages.

◆ Montage_Play()

float UAnimInstance::Montage_Play ( UAnimMontage MontageToPlay,
float  InPlayRate = 1.f,
EMontagePlayReturnType  ReturnValueType = EMontagePlayReturnType::MontageLength,
float  InTimeToStartMontageAt = 0.f,
bool  bStopAllMontages = true 
)

Plays an animation montage. Returns the length of the animation montage in seconds. Returns 0.f if failed to play.

Play a Montage. Returns Length of Montage in seconds. Returns 0.f if failed to play.

◆ Montage_PlayInternal()

float UAnimInstance::Montage_PlayInternal ( UAnimMontage MontageToPlay,
const FMontageBlendSettings BlendInSettings,
float  InPlayRate = 1.f,
EMontagePlayReturnType  ReturnValueType = EMontagePlayReturnType::MontageLength,
float  InTimeToStartMontageAt = 0.f,
bool  bStopAllMontages = true 
)
protectedvirtual

◆ Montage_PlayWithBlendIn()

float UAnimInstance::Montage_PlayWithBlendIn ( UAnimMontage MontageToPlay,
const FAlphaBlendArgs BlendIn,
float  InPlayRate = 1.f,
EMontagePlayReturnType  ReturnValueType = EMontagePlayReturnType::MontageLength,
float  InTimeToStartMontageAt = 0.f,
bool  bStopAllMontages = true 
)

Plays an animation montage. Same as Montage_Play, but you can specify an AlphaBlend for Blend In settings.

◆ Montage_PlayWithBlendSettings()

float UAnimInstance::Montage_PlayWithBlendSettings ( UAnimMontage MontageToPlay,
const FMontageBlendSettings BlendInSettings,
float  InPlayRate = 1.f,
EMontagePlayReturnType  ReturnValueType = EMontagePlayReturnType::MontageLength,
float  InTimeToStartMontageAt = 0.f,
bool  bStopAllMontages = true 
)

Plays an animation montage. Same as Montage_Play, but you can overwrite all of the montage's default blend in settings.

◆ Montage_Resume()

void UAnimInstance::Montage_Resume ( const UAnimMontage Montage)

Resumes a paused animation montage. If reference is NULL, it will resume ALL active montages.

◆ Montage_SetBlendedInDelegate()

void UAnimInstance::Montage_SetBlendedInDelegate ( FOnMontageBlendedInEnded InOnMontageBlendingIn,
UAnimMontage Montage = nullptr 
)

◆ Montage_SetBlendingOutDelegate()

void UAnimInstance::Montage_SetBlendingOutDelegate ( FOnMontageBlendingOutStarted InOnMontageBlendingOut,
UAnimMontage Montage = NULL 
)

◆ Montage_SetEndDelegate()

void UAnimInstance::Montage_SetEndDelegate ( FOnMontageEnded InOnMontageEnded,
UAnimMontage Montage = NULL 
)

◆ Montage_SetNextSection()

void UAnimInstance::Montage_SetNextSection ( FName  SectionNameToChange,
FName  NextSection,
const UAnimMontage Montage = NULL 
)

Relink new next section AFTER SectionNameToChange in run-time You can link section order the way you like in editor, but in run-time if you'd like to change it dynamically, use this function to relink the next section For example, you can have Start->Loop->Loop->Loop.... but when you want it to end, you can relink next section of Loop to be End to finish the montage, in which case, it stops looping by Loop->End.

Parameters
SectionNameToChange: This should be the name of the Montage Section after which you want to insert a new next section
NextSection: new next section

◆ Montage_SetPlayRate()

void UAnimInstance::Montage_SetPlayRate ( const UAnimMontage Montage,
float  NewPlayRate = 1.f 
)

Change AnimMontage play rate. NewPlayRate = 1.0 is the default playback rate.

◆ Montage_SetPosition()

void UAnimInstance::Montage_SetPosition ( const UAnimMontage Montage,
float  NewPosition 
)

Set position.

◆ Montage_SetSectionChangedDelegate()

void UAnimInstance::Montage_SetSectionChangedDelegate ( FOnMontageSectionChanged InOnMontageSectionChanged,
UAnimMontage Montage = NULL 
)

◆ Montage_Stop()

void UAnimInstance::Montage_Stop ( float  InBlendOutTime,
const UAnimMontage Montage = NULL 
)

Stops the animation montage. If reference is NULL, it will stop ALL active montages. Stopped montages will blend out using their montage asset's BlendOut, with InBlendOutTime as the BlendTime

◆ Montage_StopGroupByName()

void UAnimInstance::Montage_StopGroupByName ( float  InBlendOutTime,
FName  GroupName 
)

Stops all active montages belonging to a group.

◆ Montage_StopInternal()

void UAnimInstance::Montage_StopInternal ( TFunctionRef< FMontageBlendSettings(const FAnimMontageInstance *)>  AlphaBlendSelectorFunction,
const UAnimMontage Montage = nullptr 
)
protected

◆ Montage_StopWithBlendOut()

void UAnimInstance::Montage_StopWithBlendOut ( const FAlphaBlendArgs BlendOut,
const UAnimMontage Montage = nullptr 
)

Same as Montage_Stop. Uses values from the AlphaBlendArgs. Other settings come from the montage asset

◆ Montage_StopWithBlendSettings()

void UAnimInstance::Montage_StopWithBlendSettings ( const FMontageBlendSettings BlendOutSettings,
const UAnimMontage Montage = nullptr 
)

Same as Montage_Stop, but all blend settings are provided instead of using the ones on the montage asset

◆ Montage_UpdateWeight()

void UAnimInstance::Montage_UpdateWeight ( float  DeltaSeconds)
protectedvirtual

Update weight of montages

◆ MontageSync_Follow()

void UAnimInstance::MontageSync_Follow ( const UAnimMontage MontageFollower,
const UAnimInstance OtherAnimInstance,
const UAnimMontage MontageLeader 
)

Synchronize a montage to another anim instance's montage. Both montages must be playing already

Parameters
MontageFollower: The montage that will follow the leader in OtherAnimInstance
OtherAnimInstance: The other anim instance we want to synchronize to. Can be set to self
MontageLeader: The montage we want to follow in the other anim instance

◆ MontageSync_StopFollowing()

void UAnimInstance::MontageSync_StopFollowing ( const UAnimMontage MontageFollower)

Stop following the montage's leader in this anim instance

Parameters
MontageFollower: The montage we want to stop synchronizing

◆ NativeBeginPlay()

void UAnimInstance::NativeBeginPlay ( )
virtual

◆ NativeInitializeAnimation()

void UAnimInstance::NativeInitializeAnimation ( )
virtual

◆ NativeLinkedAnimationLayersInitialized()

void UAnimInstance::NativeLinkedAnimationLayersInitialized ( )
virtual

◆ NativePostEvaluateAnimation()

void UAnimInstance::NativePostEvaluateAnimation ( )
virtual

◆ NativeThreadSafeUpdateAnimation()

void UAnimInstance::NativeThreadSafeUpdateAnimation ( float  DeltaSeconds)
virtual

◆ NativeUninitializeAnimation()

void UAnimInstance::NativeUninitializeAnimation ( )
virtual

◆ NativeUpdateAnimation()

void UAnimInstance::NativeUpdateAnimation ( float  DeltaSeconds)
virtual

◆ NeedsUpdate()

bool UAnimInstance::NeedsUpdate ( ) const

◆ OnMontageInstanceStopped()

void UAnimInstance::OnMontageInstanceStopped ( FAnimMontageInstance StoppedMontageInstance)
virtual

◆ OnUROPreInterpolation()

virtual void UAnimInstance::OnUROPreInterpolation ( )
inlinevirtual

◆ OnUROPreInterpolation_AnyThread()

virtual void UAnimInstance::OnUROPreInterpolation_AnyThread ( FAnimationEvaluationContext InOutContext)
inlinevirtual

Called before URO interpolation is performed. Useful for modifying bone space transforms etc. before interpolation is performed. Note that this can be called on a worker thread.

◆ OnUROSkipTickAnimation()

virtual void UAnimInstance::OnUROSkipTickAnimation ( )
inlinevirtual

Called when skipping an animation update because of URO.

◆ OverrideCurveValue()

void UAnimInstance::OverrideCurveValue ( FName  CurveName,
float  Value 
)

Overrides the value of a named curve. Will be reset next evaluation

◆ ParallelCanEvaluate()

bool UAnimInstance::ParallelCanEvaluate ( const USkeletalMesh InSkeletalMesh) const

Check whether evaluation can be performed on the supplied skeletal mesh. Can be called from worker threads.

◆ ParallelEvaluateAnimation() [1/2]

void UAnimInstance::ParallelEvaluateAnimation ( bool  bForceRefPose,
const USkeletalMesh InSkeletalMesh,
FBlendedHeapCurve OutCurve,
FCompactPose OutPose 
)

◆ ParallelEvaluateAnimation() [2/2]

void UAnimInstance::ParallelEvaluateAnimation ( bool  bForceRefPose,
const USkeletalMesh InSkeletalMesh,
FParallelEvaluationData OutAnimationPoseData 
)

Perform evaluation. Can be called from worker threads.

◆ ParallelUpdateAnimation()

void UAnimInstance::ParallelUpdateAnimation ( )

Run update animation work on a worker thread

◆ PlaySlotAnimationAsDynamicMontage()

UAnimMontage * UAnimInstance::PlaySlotAnimationAsDynamicMontage ( UAnimSequenceBase Asset,
FName  SlotNodeName,
float  BlendInTime = 0.25f,
float  BlendOutTime = 0.25f,
float  InPlayRate = 1.f,
int32  LoopCount = 1,
float  BlendOutTriggerTime = -1.f,
float  InTimeToStartMontageAt = 0.f 
)

Play normal animation asset on the slot node by creating a dynamic UAnimMontage. You can only play one asset (whether montage or animsequence) at a time per SlotGroup.

◆ PlaySlotAnimationAsDynamicMontage_WithBlendArgs()

UAnimMontage * UAnimInstance::PlaySlotAnimationAsDynamicMontage_WithBlendArgs ( UAnimSequenceBase Asset,
FName  SlotNodeName,
const FAlphaBlendArgs BlendIn,
const FAlphaBlendArgs BlendOut,
float  InPlayRate = 1.f,
int32  LoopCount = 1,
float  BlendOutTriggerTime = -1.f,
float  InTimeToStartMontageAt = 0.f 
)

Play normal animation asset on the slot node by creating a dynamic UAnimMontage with blend in arguments. You can only play one asset (whether montage or animsequence) at a time per SlotGroup.

◆ PlaySlotAnimationAsDynamicMontage_WithBlendSettings()

UAnimMontage * UAnimInstance::PlaySlotAnimationAsDynamicMontage_WithBlendSettings ( UAnimSequenceBase Asset,
FName  SlotNodeName,
const FMontageBlendSettings BlendInSettings,
const FMontageBlendSettings BlendOutSettings,
float  InPlayRate = 1.f,
int32  LoopCount = 1,
float  BlendOutTriggerTime = -1.f,
float  InTimeToStartMontageAt = 0.f 
)

Play normal animation asset on the slot node by creating a dynamic UAnimMontage with blend in settings. You can only play one asset (whether montage or animsequence) at a time per SlotGroup.

◆ PostEvaluateAnimation()

void UAnimInstance::PostEvaluateAnimation ( )

◆ PostInitProperties()

void UAnimInstance::PostInitProperties ( )
overridevirtual

Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

Reimplemented from UObject.

◆ PostUpdateAnimation()

void UAnimInstance::PostUpdateAnimation ( )

Called after updates are completed, dispatches notifies etc.

◆ PreEvaluateAnimation()

void UAnimInstance::PreEvaluateAnimation ( )

Called on the game thread pre-evaluation.

◆ PreUpdateAnimation()

void UAnimInstance::PreUpdateAnimation ( float  DeltaSeconds)
protectedvirtual

Called to setup for updates

◆ PreUpdateLinkedInstances()

virtual void UAnimInstance::PreUpdateLinkedInstances ( float  DeltaSeconds)
inlinevirtual

Called on the game thread before UpdateAnimation is called on linked instances

◆ QueryAndMarkTransitionEvent()

bool UAnimInstance::QueryAndMarkTransitionEvent ( int32  MachineIndex,
int32  TransitionIndex,
FName  EventName 
)

Behaves like QueryTransitionEvent but additionally marks the event for consumption

◆ QueryTransitionEvent()

bool UAnimInstance::QueryTransitionEvent ( int32  MachineIndex,
int32  TransitionIndex,
FName  EventName 
)

Returns whether or not the given event transition request has been queued

◆ QueueMontageBlendedInEvent()

void UAnimInstance::QueueMontageBlendedInEvent ( const FQueuedMontageBlendedInEvent MontageBlendedInEvent)

Queue a Montage BlendedIn Event to be triggered.

◆ QueueMontageBlendingOutEvent()

void UAnimInstance::QueueMontageBlendingOutEvent ( const FQueuedMontageBlendingOutEvent MontageBlendingOutEvent)

Queue a Montage BlendingOut Event to be triggered.

◆ QueueMontageEndedEvent()

void UAnimInstance::QueueMontageEndedEvent ( const FQueuedMontageEndedEvent MontageEndedEvent)

Queue a Montage Ended Event to be triggered.

◆ QueueMontageSectionChangedEvent()

void UAnimInstance::QueueMontageSectionChangedEvent ( const FQueuedMontageSectionChangedEvent MontageSectionChangedEvent)

Queue a Montage Section Changed Event to be triggered.

◆ QueueRootMotionBlend()

void UAnimInstance::QueueRootMotionBlend ( const FTransform RootTransform,
const FName SlotName,
float  Weight 
)

Queue blended root motion. This is used to blend in root motion transforms according to the correctly-updated slot weight (after the animation graph has been updated).

◆ RecalcRequiredBones()

void UAnimInstance::RecalcRequiredBones ( )

Recalculate Required Bones [RequiredBones] Is called when bRequiredBonesUpToDate = false

◆ RecalcRequiredCurves() [1/2]

void UAnimInstance::RecalcRequiredCurves ( const FCurveEvaluationOption CurveEvalOption)

◆ RecalcRequiredCurves() [2/2]

void UAnimInstance::RecalcRequiredCurves ( const UE::Anim::FCurveFilterSettings CurveFilterSettings)

Recalculate Required Curves based on Required Bones [RequiredBones]

◆ RecordMachineWeight()

void UAnimInstance::RecordMachineWeight ( const int32  InMachineClassIndex,
const float  InMachineWeight 
)

Given a machine index, record a state machine weight for this frame

◆ RecordStateWeight()

void UAnimInstance::RecordStateWeight ( const int32  InMachineClassIndex,
const int32  InStateIndex,
const float  InStateWeight,
const float  InElapsedTime 
)

Given a machine and state index, record a state weight for this frame

◆ RefreshCurves()

void UAnimInstance::RefreshCurves ( USkeletalMeshComponent *  Component)

Refresh currently existing curves

◆ RemoveExternalNotifyHandler()

void UAnimInstance::RemoveExternalNotifyHandler ( UObject ExternalHandlerObject,
FName  NotifyEventName 
)

Other UObjects should call this to remove themselves from the callbacks

◆ RemovePoseSnapshot()

void UAnimInstance::RemovePoseSnapshot ( FName  SnapshotName)

Remove a previously saved pose snapshot from the internal snapshot cache

◆ RequestMontageInertialization() [1/2]

void UAnimInstance::RequestMontageInertialization ( const UAnimMontage Montage,
const FInertializationRequest Request 
)

Makes an inertialization request from the montage's group.

◆ RequestMontageInertialization() [2/2]

void UAnimInstance::RequestMontageInertialization ( const UAnimMontage Montage,
float  Duration,
const UBlendProfile BlendProfile = nullptr 
)

Builds an inertialization request from the montage's group, provided duration and optional blend profile

◆ RequestSlotGroupInertialization()

void UAnimInstance::RequestSlotGroupInertialization ( FName  InSlotGroupName,
float  Duration,
const UBlendProfile BlendProfile = nullptr 
)

Requests an inertial blend during the next anim graph update. Requires your anim graph to have a slot node belonging to the specified group name

◆ RequestTransitionEvent()

bool UAnimInstance::RequestTransitionEvent ( const FName  EventName,
const double  RequestTimeout,
const ETransitionRequestQueueMode  QueueMode,
const ETransitionRequestOverwriteMode  OverwriteMode 
)

Attempts to queue a transition request, returns true if the request was successful

◆ ResetDynamics() [1/2]

void UAnimInstance::ResetDynamics ( )

◆ ResetDynamics() [2/2]

void UAnimInstance::ResetDynamics ( ETeleportType  InTeleportType)

Reset any dynamics running simulation-style updates (e.g. on teleport, time skip etc.)

◆ SavePoseSnapshot()

void UAnimInstance::SavePoseSnapshot ( FName  SnapshotName)
virtual

Takes a snapshot of the current skeletal mesh component pose & saves it internally. This snapshot can then be retrieved by name in the animation blueprint for blending. The snapshot is taken at the current LOD, so if for example you took the snapshot at LOD1 and then used it at LOD0 any bones not in LOD1 will use the reference pose

◆ Serialize()

void UAnimInstance::Serialize ( FArchive Ar)
overridevirtual

Handles reading, writing, and reference collecting using FArchive. This implementation handles all FProperty serialization, but can be overridden for native variables.

Reimplemented from UObject.

◆ SetLayerOverlay()

void UAnimInstance::SetLayerOverlay ( TSubclassOf< UAnimInstance InClass)
inline

◆ SetMorphTarget()

void UAnimInstance::SetMorphTarget ( FName  MorphTargetName,
float  Value 
)

Sets a morph target to a certain weight.

◆ SetPropagateNotifiesToLinkedInstances()

void UAnimInstance::SetPropagateNotifiesToLinkedInstances ( bool  bSet)
inline

Set whether to propagate notifies to any linked anim instances

◆ SetReceiveNotifiesFromLinkedInstances()

void UAnimInstance::SetReceiveNotifiesFromLinkedInstances ( bool  bSet)
inline

Set whether to process notifies from any linked anim instances

◆ SetRootMotionMode()

void UAnimInstance::SetRootMotionMode ( TEnumAsByte< ERootMotionMode::Type Value)

Set RootMotionMode

◆ SetSubInstanceClassByTag()

void UAnimInstance::SetSubInstanceClassByTag ( FName  InTag,
TSubclassOf< UAnimInstance InClass 
)
inline

◆ SetUseMainInstanceMontageEvaluationData()

void UAnimInstance::SetUseMainInstanceMontageEvaluationData ( bool  bSet)
inline

◆ ShouldExtractRootMotion()

bool UAnimInstance::ShouldExtractRootMotion ( ) const
inline

◆ ShouldTriggerAnimNotifyState()

bool UAnimInstance::ShouldTriggerAnimNotifyState ( const UAnimNotifyState AnimNotifyState) const
virtual

Return whether this AnimNotifyState should be triggered

◆ SnapshotPose()

void UAnimInstance::SnapshotPose ( UPARAM(ref) FPoseSnapshot Snapshot)
virtual

Takes a snapshot of the current skeletal mesh component pose and saves it to the specified snapshot. The snapshot is taken at the current LOD, so if for example you took the snapshot at LOD1 and then used it at LOD0 any bones not in LOD1 will use the reference pose

◆ StopAllMontages()

void UAnimInstance::StopAllMontages ( float  BlendOut)

Stop all montages that are active

◆ StopAllMontagesByGroupName() [1/2]

void UAnimInstance::StopAllMontagesByGroupName ( FName  InGroupName,
const FAlphaBlend BlendOut 
)
protected

◆ StopAllMontagesByGroupName() [2/2]

void UAnimInstance::StopAllMontagesByGroupName ( FName  InGroupName,
const FMontageBlendSettings BlendOutSettings 
)
protected

Stop all active montages belonging to 'InGroupName'

◆ StopSlotAnimation()

void UAnimInstance::StopSlotAnimation ( float  InBlendOutTime = 0.25f,
FName  SlotNodeName = NAME_None 
)

Stops currently playing slot animation slot or all

◆ SwapCurveWithEvaluationContext()

ENGINE_API void UAnimInstance::SwapCurveWithEvaluationContext ( FAnimationEvaluationContext InOutContext)

Swap curves out for evaluation

◆ TriggerAnimNotifies()

void UAnimInstance::TriggerAnimNotifies ( float  DeltaSeconds)

Trigger AnimNotifies

◆ TriggerSingleAnimNotify() [1/2]

void UAnimInstance::TriggerSingleAnimNotify ( const FAnimNotifyEvent AnimNotifyEvent)

Trigger an AnimNotify. Note that this version does not provide any context for the event

◆ TriggerSingleAnimNotify() [2/2]

void UAnimInstance::TriggerSingleAnimNotify ( FAnimNotifyEventReference EventReference)

Trigger an AnimNotify using an EventReference that provide context used in derived notify events

◆ TryGetPawnOwner()

APawn * UAnimInstance::TryGetPawnOwner ( ) const
virtual

◆ UFUNCTION() [1/3]

UAnimInstance::UFUNCTION ( BlueprintPure  ,
Category  = "Animation|Asset Player",
meta  = (DisplayName="Current Time (ratio)", BlueprintInternalUseOnly="true", AnimGetter="true", BlueprintThreadSafe) 
)

Get the current accumulated time as a fraction for an asset player node

◆ UFUNCTION() [2/3]

UAnimInstance::UFUNCTION ( BlueprintPure  ,
Category  = "Animation|Asset Player",
meta  = (DisplayName="Time Remaining (ratio)", BlueprintInternalUseOnly="true", AnimGetter="true", BlueprintThreadSafe) 
)

Get the time as a fraction of the asset length of an animation in an asset player node

◆ UFUNCTION() [3/3]

UAnimInstance::UFUNCTION ( BlueprintPure  ,
Category  = "Animation|State Machines",
meta  = (DisplayName="Get Transition Time Elapsed (ratio)", BlueprintInternalUseOnly = "true", AnimGetter="true", GetterContext="CustomBlend", BlueprintThreadSafe) 
)

Get the elapsed time as a fraction of the crossfade duration of a specified transition

◆ UninitializeAnimation()

void UAnimInstance::UninitializeAnimation ( )

◆ UnlinkAnimClassLayers()

void UAnimInstance::UnlinkAnimClassLayers ( TSubclassOf< UAnimInstance InClass)
virtual

Runs through all layer nodes, attempting to find layer nodes that are currently running the specified class, then resets each to its default value. State sharing rules are as with SetLayerOverlay. If InClass is null, does nothing.

◆ UnlockAIResources()

void UAnimInstance::UnlockAIResources ( bool  bUnlockMovement,
bool  UnlockAILogic 
)

unlocks indicated AI resources of animated pawn. Will unlock only animation-locked resources. DEPRECATED. Use UnlockAIResourcesWithAnimation instead

◆ UpdateAnimation()

void UAnimInstance::UpdateAnimation ( float  DeltaSeconds,
bool  bNeedsValidRootMotion,
EUpdateAnimationFlag  UpdateFlag = EUpdateAnimationFlag::Default 
)

Update Animation code-paths, updates and advances animation state, returns whether or not the actual update should have been called immediately

If we're set to OnlyTickMontagesWhenNotRendered and we haven't been recently rendered, then only update montages and skip everything else.

Clear NotifyQueue prior to ticking montages. This is typically done in 'PreUpdate', but we're skipping this here since we're not updating the graph. A side effect of this, is that we're stopping all state notifies in the graph, until ticking resumes. This should be fine. But if it is ever a problem, we should keep two versions of them. One for montages and one for the graph.

Reset UpdateCounter(), this will force Update to occur if Eval is triggered without an Update. This is to ensure that SlotNode EvaluationData is resynced to evaluate properly.

We intentionally skip UpdateMontageSyncGroup(), since SyncGroup update is skipped along with AnimGraph update. We do need to reset tick records since the montage will appear to have "jumped" if normal ticking resumes.

We also intentionally do not call UpdateMontageEvaluationData after the call to UpdateMontage. As we would have to call 'UpdateAnimation' on the graph as well, so weights could be in sync with this new data. The problem lies in the fact that 'Evaluation' can be called without a call to 'Update' prior. This means our data would be out of sync. So we only call UpdateMontageEvaluationData below when we also update the AnimGraph as well. This means that calls to 'Evaluation' without a call to 'Update' prior will render stale data, but that's to be expected.

◆ UpdateCurves()

ENGINE_API void UAnimInstance::UpdateCurves ( const FBlendedHeapCurve InCurves)

Update all internal curves from Blended Curve

◆ UpdateCurvesPostEvaluation()

void UAnimInstance::UpdateCurvesPostEvaluation ( )

Update curves once evaluation has taken place. Mostly pushes curves to materials/morphs

◆ UpdateCurvesToComponents()

void UAnimInstance::UpdateCurvesToComponents ( USkeletalMeshComponent *  Component)
protected

update animation curves to component

◆ UpdateCurvesToEvaluationContext()

void UAnimInstance::UpdateCurvesToEvaluationContext ( const FAnimationEvaluationContext InOutContext)

Pushes blended heap curve to output curves in the proxy using required bones cached data

◆ UpdateMontageEvaluationData()

void UAnimInstance::UpdateMontageEvaluationData ( )
protected

◆ WasAnimNotifyNameTriggeredInAnyState()

bool UAnimInstance::WasAnimNotifyNameTriggeredInAnyState ( FName  NotifyName)

Get whether the animation notify with the specified name triggered last tick.

◆ WasAnimNotifyNameTriggeredInSourceState()

bool UAnimInstance::WasAnimNotifyNameTriggeredInSourceState ( int32  MachineIndex,
int32  StateIndex,
FName  NotifyName 
)

Get whether the most relevant animation triggered the animation notify with the specified name last tick..

◆ WasAnimNotifyNameTriggeredInStateMachine()

bool UAnimInstance::WasAnimNotifyNameTriggeredInStateMachine ( int32  MachineIndex,
FName  NotifyName 
)

Get whether the given state machine triggered the animation notify with the specified name last tick.

◆ WasAnimNotifyStateActiveInAnyState()

bool UAnimInstance::WasAnimNotifyStateActiveInAnyState ( TSubclassOf< UAnimNotifyState AnimNotifyStateType)

Get whether a particular notify state was active in any state machine last tick.

◆ WasAnimNotifyStateActiveInSourceState()

bool UAnimInstance::WasAnimNotifyStateActiveInSourceState ( int32  MachineIndex,
int32  StateIndex,
TSubclassOf< UAnimNotifyState AnimNotifyStateType 
)

Get whether a particular notify state is active in a specific state last tick.

◆ WasAnimNotifyStateActiveInStateMachine()

bool UAnimInstance::WasAnimNotifyStateActiveInStateMachine ( int32  MachineIndex,
TSubclassOf< UAnimNotifyState AnimNotifyStateType 
)

Get whether a particular notify state is active in a specific state machine last tick.

◆ WasAnimNotifyTriggeredInAnyState()

bool UAnimInstance::WasAnimNotifyTriggeredInAnyState ( TSubclassOf< UAnimNotify AnimNotifyType)

Get whether an animation notify of a given type was triggered last tick.

◆ WasAnimNotifyTriggeredInSourceState()

bool UAnimInstance::WasAnimNotifyTriggeredInSourceState ( int32  MachineIndex,
int32  StateIndex,
TSubclassOf< UAnimNotify AnimNotifyType 
)

Get whether the most relevant animation was in a particular notify state last tick.

◆ WasAnimNotifyTriggeredInStateMachine()

bool UAnimInstance::WasAnimNotifyTriggeredInStateMachine ( int32  MachineIndex,
TSubclassOf< UAnimNotify AnimNotifyType 
)

Get whether a particular notify type was active in a specific state machine last tick.

Friends And Related Symbol Documentation

◆ FAnimInstanceProxy

◆ FAnimNode_LinkedAnimGraph

◆ FAnimNode_LinkedAnimLayer

Member Data Documentation

◆ ActiveAnimNotifyEventReference

TArray<FAnimNotifyEventReference> UAnimInstance::ActiveAnimNotifyEventReference

◆ ActiveAnimNotifyState

TArray<FAnimNotifyEvent> UAnimInstance::ActiveAnimNotifyState

Currently Active AnimNotifyState, stored as a copy of the event as we need to call NotifyEnd on the event after a deletion in the editor. After this the event is removed correctly.

◆ ActiveMontagesMap

TMap<class UAnimMontage*, struct FAnimMontageInstance*> UAnimInstance::ActiveMontagesMap
protected

Map between Active Montages and their FAnimMontageInstance

◆ AnimInstanceProxy

FAnimInstanceProxy* UAnimInstance::AnimInstanceProxy
mutableprotected

Proxy object, nothing should access this from an externally-callable API as it is used as a scratch area on worker threads

◆ DebugDataCounter

FGraphTraversalCounter UAnimInstance::DebugDataCounter

◆ MontageInstances

TArray<struct FAnimMontageInstance*> UAnimInstance::MontageInstances

AnimMontage instances that are running currently

  • only one is primarily active per group, and the other ones are blending out

◆ NotifyQueue

FAnimNotifyQueue UAnimInstance::NotifyQueue

Animation Notifies that has been triggered in the latest tick

◆ OnAllMontageInstancesEnded

FOnAllMontageInstancesEndedMCDelegate UAnimInstance::OnAllMontageInstancesEnded

Called when all Montage instances have ended.

◆ OnMontageBlendedIn

FOnMontageBlendedInEndedMCDelegate UAnimInstance::OnMontageBlendedIn

Called when a montage finishes blending in

◆ OnMontageBlendingOut

FOnMontageBlendingOutStartedMCDelegate UAnimInstance::OnMontageBlendingOut

Called when a montage starts blending out, whether interrupted or finished

◆ OnMontageEnded

FOnMontageEndedMCDelegate UAnimInstance::OnMontageEnded

Called when a montage has ended, whether interrupted or finished

◆ OnMontageSectionChanged

FOnMontageSectionChangedMCDelegate UAnimInstance::OnMontageSectionChanged

Called when a montage section changes

◆ OnMontageStarted

FOnMontageStartedMCDelegate UAnimInstance::OnMontageStarted

Called when a montage has started

◆ OnPlayMontageNotifyBegin

FPlayMontageAnimNotifyDelegate UAnimInstance::OnPlayMontageNotifyBegin

Called when a montage hits a 'PlayMontageNotify' or 'PlayMontageNotifyWindow' begin

◆ OnPlayMontageNotifyEnd

FPlayMontageAnimNotifyDelegate UAnimInstance::OnPlayMontageNotifyEnd

Called when a montage hits a 'PlayMontageNotify' or 'PlayMontageNotifyWindow' end

◆ PendingDynamicResetTeleportType

ETeleportType UAnimInstance::PendingDynamicResetTeleportType

Pending teleport type, set in ResetDynamics and cleared in UpdateAnimation

◆ SlotGroupInertializationRequestDataMap

TMap<FName, FInertializationRequest> UAnimInstance::SlotGroupInertializationRequestDataMap
protected

Inertialization requests gathered this frame. Gets reset in UpdateMontageEvaluationData

◆ SlotGroupInertializationRequestMap

TMap<FName, UE::Anim::FSlotInertializationRequest> UAnimInstance::SlotGroupInertializationRequestMap
protected

◆ TransitionIndex

int32 UAnimInstance::TransitionIndex

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