RealDocs

UAnimInstance

class Engine Blueprint Since 4.0
#include "Animation/AnimInstance.h"

Description

The runtime instance of an Animation Blueprint, responsible for evaluating the anim graph and driving a skeletal mesh. You subclass this in C++ or Blueprint to implement custom animation logic.

Caveats & Gotchas

  • UAnimInstance is constrained to live Within=SkeletalMeshComponent — you cannot manually construct one and attach it to arbitrary objects.
  • Access the instance at runtime via USkeletalMeshComponent::GetAnimInstance(). It may be null if no Animation Blueprint is assigned.
  • Montage and curve APIs are on UAnimInstance, not on the mesh component — get the instance first.

Example

Get the anim instance from a mesh component C++
UAnimInstance* AnimInst = GetMesh()->GetAnimInstance();
if (AnimInst)
{
    AnimInst->Montage_Play(MyMontage);
}

Functions (210)

Lifecycle
27
Access Type Name
public function UAnimInstance::BlueprintBeginPlay
public function UAnimInstance::BlueprintInitializeAnimation
public function UAnimInstance::BlueprintUpdateAnimation
public function UAnimInstance::IsInitialized
public function UAnimInstance::NativeInitializeAnimation
public function UAnimInstance::NativeUpdateAnimation
public function UAnimInstance::BlueprintPostEvaluateAnimation
public function UAnimInstance::BlueprintThreadSafeUpdateAnimation
public function UAnimInstance::EnableUpdateAnimation
public function UAnimInstance::InitializeAnimation
public function UAnimInstance::IsUpdateAnimationEnabled
public function UAnimInstance::NativeBeginPlay
protected function UAnimInstance::NativeThreadSafeUpdateAnimation
protected function UAnimInstance::NativeUninitializeAnimation
public function UAnimInstance::PostEvaluateAnimation
public function UAnimInstance::PostUpdateAnimation
public function UAnimInstance::UninitializeAnimation
public function UAnimInstance::UpdateAnimation
public function UAnimInstance::IsPostUpdatingAnimation
public function UAnimInstance::IsUpdatingAnimation
protected function UAnimInstance::NativeLinkedAnimationLayersInitialized
protected function UAnimInstance::NativePostEvaluateAnimation
public function UAnimInstance::OnUROPreInterpolation_AnyThread
public function UAnimInstance::OnUROSkipTickAnimation
public function UAnimInstance::ParallelUpdateAnimation
public function UAnimInstance::PreEvaluateAnimation
public function UAnimInstance::PreUpdateLinkedInstances
Components
1
Access Type Name
public function UAnimInstance::GetSkelMeshComponent
Utility
19
Access Type Name
public function UAnimInstance::CalculateDirection
public function UAnimInstance::GetDeltaSeconds
public function UAnimInstance::GetOwningActor
public function UAnimInstance::GetOwningComponent
public function UAnimInstance::TryGetPawnOwner
public function UAnimInstance::Blueprint_GetMainAnimInstance
public function UAnimInstance::ClearAllTransitionEvents
public function UAnimInstance::ClearTransitionEvents
public function UAnimInstance::GetInstanceAssetPlayerTimeFromEnd
public function UAnimInstance::GetLODLevel
public function UAnimInstance::RequestTransitionEvent
public function UAnimInstance::AddReferencedObjects
public function UAnimInstance::GatherDebugData
public function UAnimInstance::GetInstanceAssetPlayerLength
public function UAnimInstance::GetInstanceAssetPlayerTime
public function UAnimInstance::GetInstanceAssetPlayerTimeFraction
public function UAnimInstance::GetUpdateCounter
public function UAnimInstance::LockAIResources deprecated
public function UAnimInstance::UnlockAIResources deprecated
Animation Layers
3
Access Type Name
public function UAnimInstance::BlueprintLinkedAnimationLayersInitialized
public function UAnimInstance::GetLinkedInputPoseNode
public function UAnimInstance::InitializeGroupedLayers
Asset Player
6
Access Type Name
public function UAnimInstance::GetInstanceAssetPlayerIndex
public function UAnimInstance::GetInstanceAssetPlayers
public function UAnimInstance::GetInstanceAssetPlayerTimeFromEndFraction
public function UAnimInstance::GetInstanceRelevantAssetPlayers
public function UAnimInstance::GetMutableInstanceAssetPlayers
public function UAnimInstance::GetMutableInstanceRelevantAssetPlayers
Blending
1
Access Type Name
public function UAnimInstance::GetBlendProfileByName
Curves
7
Access Type Name
public function UAnimInstance::GetActiveCurveNames
public function UAnimInstance::GetAllCurveNames
public function UAnimInstance::GetAnimationCurves
public function UAnimInstance::GetCurveValue
public function UAnimInstance::GetCurveValueWithDefault
public function UAnimInstance::OverrideCurveValue
public function UAnimInstance::RefreshCurves
Debug
2
Access Type Name
public function UAnimInstance::DisplayDebug
public function UAnimInstance::DisplayDebugInstance
Dynamics
1
Access Type Name
public function UAnimInstance::ResetDynamics
Evaluation
5
Access Type Name
public function UAnimInstance::NeedsUpdate
public function UAnimInstance::CanRunParallelWork
public function UAnimInstance::IsRunningParallelEvaluation
public function UAnimInstance::ParallelCanEvaluate
public function UAnimInstance::ParallelEvaluateAnimation
Inertial Blending
1
Access Type Name
public function UAnimInstance::RequestSlotGroupInertialization
Linked Anim Graphs
8
Access Type Name
public function UAnimInstance::GetLinkedAnimGraphInstanceByTag
public function UAnimInstance::GetLinkedAnimLayerInstanceByClass
public function UAnimInstance::GetLinkedAnimLayerInstanceByGroup
public function UAnimInstance::GetLinkedAnimLayerInstanceByGroupAndClass
public function UAnimInstance::GetLinkedAnimLayerInstancesByGroup
public function UAnimInstance::LinkAnimClassLayers
public function UAnimInstance::LinkAnimGraphByTag
public function UAnimInstance::UnlinkAnimClassLayers
Linked Graphs
1
Access Type Name
public function UAnimInstance::GetLinkedAnimGraphInstancesByTag
Montage
63
Access Type Name
public function UAnimInstance::GetCurrentActiveMontage
public function UAnimInstance::IsAnyMontagePlaying
public function UAnimInstance::Montage_GetCurrentSection
public function UAnimInstance::Montage_GetIsStopped
public function UAnimInstance::Montage_IsActive
public function UAnimInstance::GetActiveInstanceForMontage
public function UAnimInstance::GetActiveMontageInstance
public function UAnimInstance::GetInstanceForMontage
public function UAnimInstance::GetSlotNodeGlobalWeight
public function UAnimInstance::IsPlayingSlotAnimation
public function UAnimInstance::IsSlotActive
public function UAnimInstance::Montage_GetBlendingOutDelegate
public function UAnimInstance::Montage_GetBlendTime
public function UAnimInstance::Montage_GetEffectivePlayRate
public function UAnimInstance::Montage_GetEndedDelegate
public function UAnimInstance::Montage_GetNextSectionID
public function UAnimInstance::Montage_GetPlayRate
public function UAnimInstance::Montage_GetPosition
public function UAnimInstance::Montage_GetSectionChangedDelegate
public function UAnimInstance::Montage_IsPlaying
public function UAnimInstance::Montage_JumpToSection
public function UAnimInstance::Montage_JumpToSectionsEnd
public function UAnimInstance::Montage_Pause
public function UAnimInstance::Montage_Play
public function UAnimInstance::Montage_PlayWithBlendIn
public function UAnimInstance::Montage_Resume
public function UAnimInstance::Montage_SetBlendedInDelegate
public function UAnimInstance::Montage_SetBlendingOutDelegate
public function UAnimInstance::Montage_SetEndDelegate
public function UAnimInstance::Montage_SetNextSection
public function UAnimInstance::Montage_SetPlayRate
public function UAnimInstance::Montage_SetPosition
public function UAnimInstance::Montage_SetSectionChangedDelegate
public function UAnimInstance::Montage_Stop
public function UAnimInstance::Montage_StopGroupByName
public function UAnimInstance::Montage_StopWithBlendOut
public function UAnimInstance::PlaySlotAnimationAsDynamicMontage
public function UAnimInstance::StopAllMontages
public function UAnimInstance::StopSlotAnimation
public function UAnimInstance::Blueprint_GetSlotMontageLocalWeight
public function UAnimInstance::CalcSlotMontageLocalWeight
public function UAnimInstance::ClearMontageInstanceReferences
public function UAnimInstance::ConditionalFlushCompletedMontages
public function UAnimInstance::DynamicMontage_IsPlayingFrom
public function UAnimInstance::GetLastMontageFlushFrame
public function UAnimInstance::GetMontageInstanceForID
public function UAnimInstance::GetSlotMontageGlobalWeight
public function UAnimInstance::GetSlotMontageLocalWeight
public function UAnimInstance::IsUsingMainInstanceMontageEvaluationData
public function UAnimInstance::MakeMontageTickRecord
public function UAnimInstance::Montage_PlayWithBlendSettings
public function UAnimInstance::Montage_StopWithBlendSettings
public function UAnimInstance::MontageSync_Follow
public function UAnimInstance::MontageSync_StopFollowing
public function UAnimInstance::OnMontageInstanceStopped
public function UAnimInstance::PlaySlotAnimationAsDynamicMontage_WithBlendArgs
public function UAnimInstance::PlaySlotAnimationAsDynamicMontage_WithBlendSettings
public function UAnimInstance::QueueMontageBlendedInEvent
public function UAnimInstance::QueueMontageBlendingOutEvent
public function UAnimInstance::QueueMontageEndedEvent
public function UAnimInstance::QueueMontageSectionChangedEvent
public function UAnimInstance::RequestMontageInertialization
public function UAnimInstance::SetUseMainInstanceMontageEvaluationData
Morph Targets
2
Access Type Name
public function UAnimInstance::ClearMorphTargets
public function UAnimInstance::SetMorphTarget
Notifies
15
Access Type Name
public function UAnimInstance::AddExternalNotifyHandler
public function UAnimInstance::GetPropagateNotifiesToLinkedInstances
public function UAnimInstance::GetReceiveNotifiesFromLinkedInstances
public function UAnimInstance::RemoveExternalNotifyHandler
public function UAnimInstance::SetPropagateNotifiesToLinkedInstances
public function UAnimInstance::SetReceiveNotifiesFromLinkedInstances
public function UAnimInstance::WasAnimNotifyNameTriggeredInAnyState
public function UAnimInstance::WasAnimNotifyNameTriggeredInStateMachine
public function UAnimInstance::WasAnimNotifyStateActiveInAnyState
public function UAnimInstance::WasAnimNotifyStateActiveInStateMachine
public function UAnimInstance::WasAnimNotifyTriggeredInAnyState
public function UAnimInstance::WasAnimNotifyTriggeredInStateMachine
public function UAnimInstance::WasAnimNotifyNameTriggeredInSourceState
public function UAnimInstance::WasAnimNotifyStateActiveInSourceState
public function UAnimInstance::WasAnimNotifyTriggeredInSourceState
Pose
5
Access Type Name
public function UAnimInstance::GetPoseSnapshot
public function UAnimInstance::RemovePoseSnapshot
public function UAnimInstance::SavePoseSnapshot
public function UAnimInstance::SnapshotPose
public function UAnimInstance::AddPoseSnapshot
Root Motion
4
Access Type Name
public function UAnimInstance::SetRootMotionMode
public function UAnimInstance::ShouldExtractRootMotion
public function UAnimInstance::GetRootMotionMontageInstance
public function UAnimInstance::QueueRootMotionBlend
Skeleton
2
Access Type Name
public function UAnimInstance::GetRequiredBones
public function UAnimInstance::GetRequiredBonesOnAnyThread
State Machine
28
Access Type Name
public function UAnimInstance::GetStateMachineIndex
public function UAnimInstance::GetStateMachineInstance
public function UAnimInstance::GetStateMachineInstanceFromName
public function UAnimInstance::AddNativeStateEntryBinding
public function UAnimInstance::AddNativeStateExitBinding
public function UAnimInstance::AddNativeTransitionBinding
public function UAnimInstance::CanTransitionSignature
public function UAnimInstance::GetCurrentStateName
public function UAnimInstance::GetInstanceCurrentStateElapsedTime
public function UAnimInstance::GetInstanceMachineWeight
public function UAnimInstance::GetInstanceStateWeight
public function UAnimInstance::GetInstanceTransitionCrossfadeDuration
public function UAnimInstance::GetInstanceTransitionTimeElapsed
public function UAnimInstance::GetInstanceTransitionTimeElapsedFraction
public function UAnimInstance::GetMachineDescription
public function UAnimInstance::GetRelevantAnimLength
public function UAnimInstance::GetRelevantAnimTime
public function UAnimInstance::GetRelevantAnimTimeFraction
public function UAnimInstance::GetRelevantAnimTimeRemaining
public function UAnimInstance::GetRelevantAnimTimeRemainingFraction
public function UAnimInstance::GetRelevantAssetPlayerInterfaceFromState
public function UAnimInstance::GetStateMachineIndexAndDescription
public function UAnimInstance::GetStateMachineInstanceDesc
public function UAnimInstance::HasNativeStateEntryBinding
public function UAnimInstance::HasNativeStateExitBinding
public function UAnimInstance::HasNativeTransitionBinding
public function UAnimInstance::QueryAndMarkTransitionEvent
public function UAnimInstance::QueryTransitionEvent
Subsystems
2
Access Type Name
public function UAnimInstance::FindSubsystem
public function UAnimInstance::GetSubsystem
Sync Groups
7
Access Type Name
public function UAnimInstance::GetTimeToClosestMarker
public function UAnimInstance::HasMarkerBeenHitThisFrame
public function UAnimInstance::IsSyncGroupBetweenMarkers
public function UAnimInstance::GetSyncGroupIndexFromName
public function UAnimInstance::GetSyncGroupMapRead
public function UAnimInstance::GetSyncGroupPosition
public function UAnimInstance::GetUngroupedActivePlayersRead

Properties

Access Type Name
public property UAnimInstance::ActiveAnimNotifyEventReference
public property UAnimInstance::ActiveAnimNotifyState
public property UAnimInstance::NotifyQueue
public property UAnimInstance::OnAllMontageInstancesEnded
public property UAnimInstance::OnMontageBlendedIn
public property UAnimInstance::OnMontageBlendingOut
public property UAnimInstance::OnMontageEnded
public property UAnimInstance::OnMontageSectionChanged
public property UAnimInstance::OnMontageStarted

Version History

Introduced in: 4.0

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.