All Animation times return 0 into a tick event of an Anim Notify State

Inside a Tick Event of an Anim Notify State, all of the following return 0 (5.3.2).

Given that it’s not possible to save variables from a Begin Play event, how can you compute the ratio of how far you are in a state?

image

2 Likes

Use Curves

Set a curve with value 0 to 1.

Use Get curve value.

1 Like

Thanks for the suggestion, but I don’t want to modify every animation I use the Anim Notify State in.

1 Like

Hi, I’m having the same problem. Have you found a solution?

1 Like

I’m in UE5.4.4
Encounter the same bug today, GetCurrentAnimationTime() always return zero.

From inspecting the C++ code, it seems like I have to create a FAnimTickRecord struct and inject it into anim notify’s FAnimNotifyContext struct - the anim sequence will then be able to call GatherTickRecordData() every tick to accumulate the delta over time and allow us to calculate ratio.

Alas, the process is too complicated for me to understand - would be nice if someone could explain how to make this work.

This is still an issue in 5.4, any work around or fix?

Not sure if my solution applies to your case -

In C++ I inherit UAnimNotifyState and override NotifyTick()

In the tick function, I manually accumulate the delta and keep it in the class variable for me to query it later.

Finally, I apply my custom anim notify state to the anim sequence I wish to query.