Download

How do I trigger an event when animation finished playing?

Hi, I’m new to UE4, and I’m doing a simple project. I have a spawner that spawns a bunch of enemies objects and each of them will play their own animation sequence. I want to trigger an event after the animation’s done. Couldn’t figure out how to do this.

I’ve searched for a while, some people mentioned the notification event. But the thing is that I may have hundreds of animation sequences in my scene if I have to go into each sequence and just add a notification at the end, it seems kinda silly. I wonder if there’s a better way of doing so. Others were mentioning using animation blueprint. I’m not totally against it if it’s necessary. But I couldn’t find a good tutorial that’s talking about how to simply play an animation sequence and trigger an even at the end. I know this must be a piece of cake for many of you guys, but I really appreciate if someone could write a little instruction or tutorial.

You can create a function timer in blueprints. If you know at what time the animation ends you can add that amount and create a timer handler.

Depends on a lot of things.
how are you playing the animation? Is it a montage? If so then the timer is there.

Is it an AnimBP? If so, the state itself can have a return rule after it completes. You can pass this into a 1 frame animation with a notify for all the actors so as to have access to the notify.

Otherwise, yes adding a notify to the end of every animation may be silly, but you could possibly automate the process with a pyton script or something similar.
maybe even just AutoHotkey and let it run… depends on how many animations you have to do.

In C++, you can bind to a delegate called OnMontageEnded.
You should be able to do the same in a Blueprint.

Please help me. I have same problem. Can you provide example on blueprints please?

Hey there! This is for is you need an animation in a umg, you just type “Animation Finished ([your animation])” Notice the parenthesis, you need them if you want the correct result to show up first, not the brackets. It should be an event.