How can I replicate animation speed/playrate to clients?

I’m passing 2 variables from my player character blueprint to my animation blueprint (with a server-event interface), which lowers my max animation speed as my character grows. But regardless of whether this is executed within the animation blueprint on the server player or a client player, the correct animation speed only ever seems to play on the server side

I’ve tried using a client-side event to update anim speed, and saving the variables on client side also. Didn’t think either of these would work (Spoiler: They didn’t)

Also tried replicating the speed variable in the state tab


Am I missing something obvious?

First off you should be using initialize Animation and casting to your character class, then creating a reference for it. Try Get Pawn Owner is limited.

Use Character Ref and Character Movement Component Ref for more accurate and specific data.

Movement Speeds should be set in the Character Class. Then use Get in the animation class to use it in the anim BP.

e.g. Character Ref -> Get SomeValue


Movement Speeds should be deterministic. Your code in the character class should adjust speeds based on Action/State, then simply tell the server your action/state. The server should run the same code and produce the same result.