AnimNotify framerate dependant? workaround?

Hello, I’ve been diggin a loot into this, doing many many tests and reading in Internet, but seems I can’t find a solution.

Looks like after 4.17, AnimNotifies can be missed if you are playing in DEDICATED SERVER mode. Not always, but sometimes.

I noticed that if I slow down the animation play rate, they** always fire**, but if I speed up it, sometimes it misses (usually in the server side, clients usually always fire, sill not reliable on clients neither)

My conclusion is that** AnimNotifies are not reliable** as they depend on the frame rate. If that’s so, how are we supposed to use them in replicated games?

If someone has any clue on how to address this, please, I need that knowledge.

Thank you,

  • Nesjett

An anim notify is essentially an event call.
According to the manuals it will fire anyway at the first avaliable moment.

Realistically, because it is an event call, you can actually call it manually based on a separate timeline or a delay or whatver you wish.

Personally, I have not experienced it skipping the event ever, even with animation speed at x3… but that doesn’t mean it’s not impossible for it to be skipped…

The best method I can think of is to create an event call to trigger manually depending on what animation is being played and pass on a delay time with another event.
So you end up.with an event that triggers your other event by reference essentially, based on whatever parameters you pass.

Previous versions of the engine had clear instructions on how to convert an AnimNotify into a ‘Branching Point’ so it always works at the instant it is called. Perhaps this process is still valid but the docs are no longer as clear.

AnimNotifies are mostly used to fire off visual effects, try to find alternate means for anything critical and not use notifies in such cases.

Thank you both for the answer.

About MostHost LA solution, I’m trying to figure out the best way for doing so in my system, but Is definetly not the best approach as It makes you take more effort to configure the times to all the animations. Still is a possible solution and Ill give a try on that direction. Thank you!

Related to Waves answer, “couch knights” Epic’s example made use of this notifies for replicated games reliably, atleast until engine version 4.17, to determine if the weapon should be “tracing for enemies” or not. I’m basically doing the same but found this issues I’v ementioned. Epic couch knights example is not even using “branching point” notifies, they use query ones, but I tried both, getting the same results in both cases.

For some reason, I found people saying they dont have this problem, like [USER=“3140864”]MostHost LA[/USER] so I’m thinking about what is happening there then

Could depend on a lot of things. But, what I was saying was that to avoid having to time everything you can create a chain of function/event that will check to make sure the correct animation is playing and trigger an event based on a specific time that you feed to the function call.
Sure, it’s not simple, but it would be like creating a fake notify system…

I’m trying to do it yhe way you propose, but they main problem is that I’m using notifies to visually set when I want the event to fire, in the way you say, unless I’m missing something, Ill have to set somehwere, maybe in a data table, the timings for every animation at which this event should fire. Is not the worst scenario, as I still can use the notify to check the time value and then put it in the table, but is not the way it should work.

Maybe someone at epic or into engine code can bring some light to this issue.

Thank you [USER=“3140864”]MostHost LA[/USER] for your ideas!

Hey, NesJett, I noticed you had made an old DS2 functions system for characters. Is that still a thing?