UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimNotifyState_TimedParticleEffect.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
8#include "AnimNotifyState_TimedParticleEffect.generated.h"
9
10class UParticleSystem;
11class USkeletalMeshComponent;
12
13// Timed Particle Effect Notify
14// Allows a looping particle effect to be played in an animation that will activate
15// at the beginning of the notify and deactivate at the end.
16UCLASS(Blueprintable, meta = (DisplayName = "Timed Particle Effect"), MinimalAPI)
18{
20
21 // The particle system template to use when spawning the particle component
22 UPROPERTY(EditAnywhere, Category = ParticleSystem, meta = (ToolTip = "The particle system to spawn for the notify state"))
24
25 // The socket within our mesh component to attach to when we spawn the particle component
26 UPROPERTY(EditAnywhere, Category = ParticleSystem, meta = (ToolTip = "The socket or bone to attach the system to"))
27 FName SocketName;
28
29 // Offset from the socket / bone location
30 UPROPERTY(EditAnywhere, Category = ParticleSystem, meta = (ToolTip = "Offset from the socket or bone to place the particle system"))
31 FVector LocationOffset;
32
33 // Offset from the socket / bone rotation
34 UPROPERTY(EditAnywhere, Category = ParticleSystem, meta = (ToolTip = "Rotation offset from the socket or bone for the particle system"))
35 FRotator RotationOffset;
36
37 // Whether or not we destroy the component at the end of the notify or instead just stop
38 // the emitters.
39 UPROPERTY(EditAnywhere, Category = ParticleSystem, meta = (DisplayName = "Destroy Immediately", ToolTip = "Whether the particle system should be immediately destroyed at the end of the notify state or be allowed to finish"))
40 bool bDestroyAtEnd;
41
42#if WITH_EDITORONLY_DATA
43 // The following arrays are used to handle property changes during a state. Because we can't
44 // store any stateful data here we can't know which emitter is ours. The best metric we have
45 // is an emitter on our Mesh Component with the same template and socket name we have defined.
46 // Because these can change at any time we need to track previous versions when we are in an
47 // editor build. Refactor when stateful data is possible, tracking our component instead.
50
53
54#endif
55
56#if WITH_EDITOR
58#endif
59
60 UE_DEPRECATED(5.0, "Please use the other NotifyBegin function instead")
61 ENGINE_API virtual void NotifyBegin(class USkeletalMeshComponent * MeshComp, class UAnimSequenceBase * Animation, float TotalDuration) override;
62 UE_DEPRECATED(5.0, "Please use the other NotifyTick function instead")
63 ENGINE_API virtual void NotifyTick(class USkeletalMeshComponent * MeshComp, class UAnimSequenceBase * Animation, float FrameDeltaTime) override;
64 UE_DEPRECATED(5.0, "Please use the other NotifyEnd function instead")
65 ENGINE_API virtual void NotifyEnd(class USkeletalMeshComponent * MeshComp, class UAnimSequenceBase * Animation) override;
66
67 ENGINE_API virtual void NotifyBegin(class USkeletalMeshComponent * MeshComp, class UAnimSequenceBase * Animation, float TotalDuration, const FAnimNotifyEventReference& EventReference) override;
68 ENGINE_API virtual void NotifyTick(class USkeletalMeshComponent * MeshComp, class UAnimSequenceBase * Animation, float FrameDeltaTime, const FAnimNotifyEventReference& EventReference) override;
69 ENGINE_API virtual void NotifyEnd(class USkeletalMeshComponent * MeshComp, class UAnimSequenceBase * Animation, const FAnimNotifyEventReference& EventReference) override;
70
71 // Overridden from UAnimNotifyState to provide custom notify name.
72 ENGINE_API FString GetNotifyName_Implementation() const override;
73
74protected:
75 ENGINE_API bool ValidateParameters(USkeletalMeshComponent* MeshComp);
76};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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 GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition NameTypes.h:617
Definition UnrealType.h:174
Definition Array.h:670
Definition AnimNotifyState_TimedParticleEffect.h:18
Definition AnimNotifyState.h:25
Definition AnimSequenceBase.h:37
Definition ParticleSystem.h:160
Definition AnimNotifyQueue.h:22
Definition ObjectPtr.h:488