Animation Blueprint Not Updating Correctly for Clients in Multiplayer (UE5)

Hi all,

I’m encountering a strange issue with my Animation Blueprint in a multiplayer setup (UE 5.3). On the server, everything works as expected — animations transition smoothly based on character movement and states. However, on the clients, the character either stays in the idle pose or plays incorrect animations, even though movement replication seems to be working fine.

Here’s what I’ve done so far:

  • My character is a Character subclass with a properly set up Movement Component and replication enabled.

  • Animation Blueprint is assigned correctly in the Skeletal Mesh.

  • Movement replication (bReplicates = true and bReplicateMovement = true) is enabled on the character.

  • I’m updating animation variables like Speed, IsInAir, etc., in the AnimInstance using TryGetPawnOwner() and casting it to my character class.

What I’ve tried:

  • Verified that GetVelocity() and IsFalling() return correct values on the server, but not on the client’s version of the Animation Blueprint.

  • Added HasAuthority() checks in the character class to control logic execution, but not inside the Anim BP.

  • Checked network relevancy and net cull distance — they seem fine.

My questions:

  1. How can I ensure that the client’s Animation Blueprint receives updated movement values?

  2. Do I need to explicitly replicate movement data to the AnimInstance, or is that handled automatically?

  3. Is there a more reliable way to sync animation state in a replicated multiplayer character?

Any advice or examples would be really appreciated. Thanks!

All States, velocities, etc need to be set by the server to replicate down to other clients.