UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimNotify.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3
4#pragma once
5
6#include "CoreMinimal.h"
8#include "UObject/Object.h"
11#include "AnimNotify.generated.h"
12
14class USkeletalMeshComponent;
15struct FAnimNotifyEvent;
16#if WITH_EDITORONLY_DATA
18class FCanvas;
19class FSceneView;
20#endif
21
22USTRUCT()
24{
25public:
27
28 USkeletalMeshComponent* SkelMeshComponent;
29 UAnimSequenceBase* SequenceAsset;
30 FAnimNotifyEvent* NotifyEvent;
31 int32 MontageInstanceID;
32 bool bReachedEnd = false;
33
35 : SkelMeshComponent(nullptr)
36 , SequenceAsset(nullptr)
37 , NotifyEvent(nullptr)
38 , MontageInstanceID(INDEX_NONE)
39 {}
40
42 : SkelMeshComponent(InSkelMeshComponent)
43 , SequenceAsset(InSequenceAsset)
44 , NotifyEvent(InNotifyEvent)
45 , MontageInstanceID(InMontageInstanceID)
46 , bReachedEnd(bInReachedEnd)
47 {}
48};
49
50UCLASS(abstract, Blueprintable, const, hidecategories=Object, collapsecategories, MinimalAPI)
52{
54
55
58 UFUNCTION(BlueprintNativeEvent)
59 ENGINE_API FString GetNotifyName() const;
60
61 UFUNCTION(BlueprintImplementableEvent, meta=(AutoCreateRefTerm="EventReference"))
62 ENGINE_API bool Received_Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, const FAnimNotifyEventReference& EventReference) const;
63
64#if WITH_EDITORONLY_DATA
66 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=AnimNotify)
68
70 UPROPERTY(EditAnywhere, BlueprintReadWrite, AdvancedDisplay, Category=AnimNotify)
72#endif // WITH_EDITORONLY_DATA
73
74#if WITH_EDITOR
76 virtual bool CanBePlaced(UAnimSequenceBase* Animation) const { return true; }
77 virtual void ValidateAssociatedAssets() {}
78 virtual void DrawInEditor(FPrimitiveDrawInterface* PDI, USkeletalMeshComponent* MeshComp, const UAnimSequenceBase* Animation, const FAnimNotifyEvent& NotifyEvent) const {}
79 virtual void DrawCanvasInEditor(FCanvas& Canvas, FSceneView& View, USkeletalMeshComponent* MeshComp, const UAnimSequenceBase* Animation, const FAnimNotifyEvent& NotifyEvent) const {}
80
82 virtual bool ShouldFireInEditor() { return bShouldFireInEditor; }
83#endif
84
85 UE_DEPRECATED(5.0, "Please use the other Notify function instead")
86 ENGINE_API virtual void Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation);
87 ENGINE_API virtual void Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, const FAnimNotifyEventReference& EventReference);
88 ENGINE_API virtual void BranchingPointNotify(FBranchingPointNotifyPayload& BranchingPointPayload);
89
90 // @todo document
91 virtual FString GetEditorComment()
92 {
93 return TEXT("");
94 }
95
97 UFUNCTION(BlueprintNativeEvent)
98 ENGINE_API float GetDefaultTriggerWeightThreshold() const;
99
100 // @todo document
101 virtual FLinearColor GetEditorColor()
102 {
103#if WITH_EDITORONLY_DATA
104 return FLinearColor(NotifyColor);
105#else
106 return FLinearColor::Black;
107#endif // WITH_EDITORONLY_DATA
108 }
109
117 ENGINE_API virtual class UWorld* GetWorld() const override;
118
120 ENGINE_API virtual void PostLoad() override;
121 ENGINE_API virtual void PreSave(FObjectPreSaveContext ObjectSaveContext) override;
125 bool bIsNativeBranchingPoint;
126
127protected:
128 ENGINE_API UObject* GetContainingAsset() const;
129
130private:
131 /* The mesh we're currently triggering a UAnimNotify for (so we can retrieve per instance information) */
132 class USkeletalMeshComponent* MeshContext;
133};
134
135
136
const FBranchingPointNotifyPayload BranchingPointPayload
Definition AnimInstance.h:121
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
Definition CanvasTypes.h:211
Definition ObjectSaveContext.h:244
Definition PrimitiveDrawInterface.h:19
Definition SceneView.h:1425
Definition AnimNotify.h:52
Definition AnimSequenceBase.h:37
Definition Object.h:95
Definition World.h:918
virtual UE_API UWorld * GetWorld() const override
Definition World.cpp:1820
@ false
Definition radaudio_common.h:23
Definition AnimNotifyQueue.h:22
Definition AnimTypes.h:277
Definition AnimNotify.h:24
FBranchingPointNotifyPayload(USkeletalMeshComponent *InSkelMeshComponent, UAnimSequenceBase *InSequenceAsset, FAnimNotifyEvent *InNotifyEvent, int32 InMontageInstanceID, bool bInReachedEnd=false)
Definition AnimNotify.h:41
Definition Color.h:486
Definition Color.h:48
static CORE_API const FLinearColor Black
Definition Color.h:458