365 UPROPERTY(Category = RootMotion, EditDefaultsOnly)
375 UPROPERTY(meta=(BlueprintCompilerGeneratedDefaults))
376 uint8 bUseMultiThreadedAnimationUpdate : 1;
379 UPROPERTY(meta = (BlueprintCompilerGeneratedDefaults))
380 uint8 bUsingCopyPoseFromMesh : 1;
383 uint8 bNeedsUpdate : 1;
386 uint8 bCreatedByLinkedAnimGraph : 1;
389 UPROPERTY(EditDefaultsOnly, Category = Notifies)
390 uint8 bReceiveNotifiesFromLinkedInstances : 1;
393 UPROPERTY(EditDefaultsOnly, Category = Notifies)
394 uint8 bPropagateNotifiesToLinkedInstances : 1;
397 UPROPERTY(EditDefaultsOnly, Category =
"Montage")
398 uint8 bUseMainInstanceMontageEvaluationData: 1;
402 uint8 bUpdateAnimationEnabled;
407 uint8 bQueueMontageEvents : 1;
410 uint8 bUninitialized : 1;
451 UFUNCTION(BlueprintCallable, Category =
"Animation")
493 virtual bool CanRunParallelWork()
const {
return true; }
496 ENGINE_API bool IsRunningParallelEvaluation()
const;
505 UFUNCTION(BlueprintPure, Category =
"Animation|Notifies")
506 bool GetReceiveNotifiesFromLinkedInstances()
const {
return bReceiveNotifiesFromLinkedInstances; }
509 UFUNCTION(BlueprintCallable, Category =
"Animation|Notifies")
510 void SetReceiveNotifiesFromLinkedInstances(
bool bSet) { bReceiveNotifiesFromLinkedInstances = bSet; }
513 UFUNCTION(BlueprintPure, Category =
"Animation|Notifies")
514 bool GetPropagateNotifiesToLinkedInstances()
const {
return bPropagateNotifiesToLinkedInstances; }
517 UFUNCTION(BlueprintCallable, Category =
"Animation|Notifies")
518 void SetPropagateNotifiesToLinkedInstances(
bool bSet) { bPropagateNotifiesToLinkedInstances = bSet; }
520 UFUNCTION(BlueprintCallable, Category =
"Animation|Linked Anim Graphs|Montage")
521 bool IsUsingMainInstanceMontageEvaluationData()
const {
return bUseMainInstanceMontageEvaluationData; }
523 UFUNCTION(BlueprintCallable, Category =
"Animation|Linked Anim Graphs|Montage")
524 void SetUseMainInstanceMontageEvaluationData(
bool bSet) { bUseMainInstanceMontageEvaluationData = bSet; }
532 UFUNCTION(BlueprintCallable, Category =
"Animation")
537 ENGINE_API USkeletalMeshComponent* GetOwningComponent() const;
566 UFUNCTION(BlueprintImplementableEvent, meta=(BlueprintThreadSafe))
567 ENGINE_API void BlueprintThreadSafeUpdateAnimation(
float DeltaTime);
569 ENGINE_API bool CanTransitionSignature() const;
808 ENGINE_API void StopAllMontages(
float BlendOut);
818 UE_DEPRECATED(4.24, "
Function renamed,
please use GetLinkedInputPoseNode")
828 UE_DEPRECATED(4.24,
"Function renamed, please use GetLinkedAnimGraphInstanceByTag")
832 UFUNCTION(BlueprintPure, Category =
"Animation|Linked Anim Graphs")
835 UE_DEPRECATED(4.24, "
Function renamed,
please use GetLinkedAnimGraphInstancesByTag")
843 UE_DEPRECATED(4.24, "
Function renamed,
please use LinkAnimGraphByTag")
847 UFUNCTION(BlueprintCallable, Category =
"Animation|Linked Anim Graphs")
850 UE_DEPRECATED(4.24, "
Function renamed,
please use LinkAnimClassLayers")
859 UFUNCTION(BlueprintCallable, Category =
"Animation|Linked Anim Graphs")
862 UE_DEPRECATED(4.24, "
Function renamed,
please use UnlinkAnimClassLayers")
870 UFUNCTION(BlueprintCallable, Category =
"Animation|Linked Anim Graphs")
873 UE_DEPRECATED(4.24, "
Function renamed,
please use GetLinkedAnimLayerInstanceByGroup")
877 UFUNCTION(BlueprintPure, Category =
"Animation|Linked Anim Graphs")
888 UE_DEPRECATED(4.24, "
Function renamed,
please use GetLinkedAnimLayerInstanceByClass")
892 UFUNCTION(BlueprintPure, Category =
"Animation|Linked Anim Graphs")
916 template<
typename SubsystemType>
933 UE_DEPRECATED(5.5,
"This property is deprecated. Please use SlotGroupInertializationRequestDataMap instead")
934 TMap<
FName,
UE::Anim::FSlotInertializationRequest> SlotGroupInertializationRequestMap;
941 UE_DEPRECATED(5.0, "Use StopAllMontagesByGroupName with
other signature.")
959 ENGINE_API void ConditionalFlushCompletedMontages();
1022 UFUNCTION(BlueprintCallable, Category =
"Animation|Root Motion")
1077 ENGINE_API float GetInstanceCurrentStateElapsedTime(
int32 MachineIndex);
1081 ENGINE_API float GetInstanceTransitionCrossfadeDuration(
int32 MachineIndex,
int32 TransitionIndex);
1186 UE_DEPRECATED(5.1, "Please use GetRelevantAssetPlayerInterfaceFromState")
1200 UFUNCTION(BlueprintPure, Category=
"Animation|Skeleton", meta=(BlueprintThreadSafe))
1204 UFUNCTION(BlueprintPure, Category=
"Animation|Curves", meta=(BlueprintThreadSafe))
1214 UFUNCTION(BlueprintPure, Category=
"Animation|Curves", meta=(BlueprintThreadSafe))
1218 UFUNCTION(BlueprintPure, Category =
"Animation|Curves", meta=(BlueprintThreadSafe))
1222 UFUNCTION(BlueprintPure, Category =
"Animation|Curves", meta=(BlueprintThreadSafe))
1232 UFUNCTION(BlueprintPure, Category=
"Animation|State Machines", meta=(BlueprintInternalUseOnly =
"true",
AnimGetter =
"true", BlueprintThreadSafe))
1236 UFUNCTION(BlueprintCallable, Category=
"Animation|Morph Targets")
1250 UFUNCTION(BlueprintCallable, Category = "
Animation", BlueprintAuthorityOnly, Meta=(DeprecatedFunction, DeprecationMessage="Use LockAIResourcesWithAnimation
instead"))
1255 UFUNCTION(BlueprintCallable, Category = "
Animation", BlueprintAuthorityOnly, Meta=(DeprecatedFunction, DeprecationMessage="Use UnlockAIResourcesWithAnimation
instead"))
1272 UFUNCTION(BlueprintCallable, Category="
Animation", meta = (BlueprintThreadSafe, Keywords = "
Event,Request,Transition"))
1276 UFUNCTION(BlueprintCallable, Category = "
Animation", meta = (BlueprintThreadSafe, Keywords = "
Event,Request,Transition"))
1280 UFUNCTION(BlueprintCallable, Category = "
Animation", meta = (BlueprintThreadSafe, Keywords = "
Event,Request,Transition"))
1299#if WITH_EDITORONLY_DATA
1316 UE_DEPRECATED(4.22,
"This function is deprecated, please use OnUROPreInterpolation_AnyThread")
1329 ForceParallelUpdate,
1364 UE_DEPRECATED(4.26,
"Please use ParallelEvaluateAnimation with different signature.")
1387 void EnableUpdateAnimation(
bool bEnable) { bUpdateAnimationEnabled = bEnable; }
1419 UFUNCTION(BlueprintCallable, Category =
"Animation|Dynamics")
1467 ENGINE_API void UpdateCurvesPostEvaluation();
1482 ENGINE_API bool HasMorphTargetCurves() const;
1497 UE_DEPRECATED(4.19, "This
function is deprecated. Use AppendAnimationCurveList
instead.")
1504#if WITH_EDITORONLY_DATA
1518 uint32 LastMontageFlushFrame = 0u;
1528 uint32 GetLastMontageFlushFrame()
const;
1541 UE_DEPRECATED(5.3,
"Please use RecalcRequiredCurves that takes a FCurveFilterSettings.")
1545 inline USkeletalMeshComponent* GetSkelMeshComponent()
const
1547 return GetSkelMeshComponentChecked();
1553 ENGINE_API void TriggerAnimNotifies(
float DeltaSeconds);
1564 UE_DEPRECATED(5.3,
"Please use AddCurveValue that takes a CurveName")
1567 UE_DEPRECATED(5.3,
"Please use AddCurveValue that takes a CurveName")
1576 ENGINE_API void AddCurveValue(
const FName& CurveName,
float Value,
bool bMorphtarget =
false,
bool bMaterial =
false);
1582#if WITH_EDITORONLY_DATA
1591 ENGINE_API USkeletalMeshComponent* GetSkelMeshComponentChecked()
const;
1594 ENGINE_API USkeletalMeshComponent* GetSkelMeshComponentUnchecked()
const;
1615 struct FQueuedRootMotionBlend
1639 ENGINE_API void UpdateMontage(
float DeltaSeconds);
1644 ENGINE_API void UpdateMontageEvaluationData();
1647 ENGINE_API virtual void PreUpdateAnimation(
float DeltaSeconds);
1661 template <
typename T >
1668 if (IsSkeletalMeshComponent(
OuterObj))
1670 HandleExistingParallelEvaluationTask(
InAnimInstance->GetSkelMeshComponent());
1682 template <
typename T >
1689 template <
typename T>
1693 if(IsSkeletalMeshComponent(GetOuter()))
1695 HandleExistingParallelEvaluationTask(GetSkelMeshComponent());
1697 if(AnimInstanceProxy ==
nullptr)
1699 AnimInstanceProxy =
const_cast<UAnimInstance*
>(
this)->CreateAnimInstanceProxy();
1701 return *
static_cast<const T*
>(AnimInstanceProxy);
1705 template <
typename T>
1708 if(IsSkeletalMeshComponent(GetOuter()))
1712 HandleExistingParallelEvaluationTask(GetSkelMeshComponent());
1715 if(AnimInstanceProxy ==
nullptr)
1717 AnimInstanceProxy = CreateAnimInstanceProxy();
1719 return *
static_cast<T*
>(AnimInstanceProxy);
1723 template <
typename T>
1726 if(IsSkeletalMeshComponent(GetOuter()))
1730 HandleExistingParallelEvaluationTask(GetSkelMeshComponent());
1733 if(AnimInstanceProxy ==
nullptr)
1735 AnimInstanceProxy =
const_cast<UAnimInstance*
>(
this)->CreateAnimInstanceProxy();
1737 return *
static_cast<const T*
>(AnimInstanceProxy);