Animation Events on the very last frame of an animation sometimes (very rarely) doesn't get detected (I'm using marker reached signal)

(Don’t know which category this should go) I’ve gone through my code and everything many times and I’m 99.9% sure it’s not because of my code. Basically, whenever I try to detect the animation event at the very last frame (which marks when to make other attacks available again) has a very small chance to not get detected. I got many reports on my game of people getting stuck with all their abilities disabled after using some of the attacks. All of the attacks on the reports are the kind of attacks that has an animation event at the last frame that points when to re-enable abilities. I’m currently working on shifting it to animationtrack.Ended but it also doesn’t work correctly when the animation is too short (when it’s not as long as that 1:00 mark so it waits a little extra to fire) Did anyone have the same experience as me or did I miss something? Like I said, it works 99.9% of the time and doesn’t have any other code that messes with it. It’s simply an animation event at the last frame that gets detected by :GetMarkerReachedSignal. It’s pretty annoying.

Not sure why this is happening, for your use case however you could try simply using AnimationTrack.Stopped instead of a marker at the last frame.

1 Like

Does it fire if the animation is shorter than 1:00 mark? Or does it also wait until at least 1:00?

I don’t know, I just had a quick peek at the documentation

1 Like

It seems that Stopped() fires even if it’s shorter than 1:00. Ended() however waits until the very end, meaning it will make you wait a little bit extra until it hits at least 1:00. Yeah, using Stopped() seems to be way to get around this. However, this bug really is annoying. The fact that it fails randomly and rarely could cause some developers issues. I was lucky to get many reports on this. Anyways, thanks a lot.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.