Download

[BUG] AnimNotifyState NotifyBegin NotifyEnd not executed.

I implemented own AnimNotifyState and then use and animation in that way that I stretched this notify to all animation lenght.
Then when playing this animation, It skip calling NotifyBegin and NotifyEnd when play looping this animation.

Coincidentally, I’ve been having a nightmare with the same problem - I’ve been unable to work around it:
https://answers.unrealengine.com/questions/139528/trouble-with-anim-notify.html

Can we please get a proper delegate callback instead of these problematic notifies?

Hi biszop. This is by design, as in your case you never leave that state. That notify is always active. NotifyBegin and NotifyEnd are triggered when that notify comes in and out of relevancy, not when the start and end markers are hit.
Maybe just use a single notify to time when your animation loops?

To explain this a little more clearly. AnimNotify States defines states. Begin/End events are fired when that state becomes active/inactive. It’s not necessarily tied to the position in the timeline. (For example when an animation starts late or ends early). If you want events triggered tied to the timeline position, use regular AnimNotifies.

OK, thanks for answer.
I will use regular AnimNotifies as you advice.
Is there some chance for you guys to add something working similar like AnimNotify State, but with begin and end calling etch time animation loops?

That’s what I’ve been trying to do (see Answerhub thread). It’s possible to cause said notifies to never trigger.

in ue3 anim notifies were limited to 4 each tick, may sound ok but a small number of ai using root motion easily surpassed this, and caused freezes and other bugs.
does it have the same limit on ue4? if so can be increased fairly easily in the source?

I am after some tests.
Switching to normal notifies solves some of the problem, but not all of them. I have begin and end notify, and they work as a markers, to do my stuff between them. The problem is that they are stretched to absolute begin and end animation. That causes a problem in which I have begin, end, begin notify fired in that order, because animation is looped. And the last execution of begin notify breaks all system. One of solution is to move notifies away from animation edges, but that corrupts my calculations, more of that, how much do I have to move notifies? Different fps may cause animation skip from end to begin from different frames.
Best solution would be to set animation to not looping mode, but that for a change make animation one-time playable, blocking playing it again for eternity.