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
Charactersubclass with a properly set up Movement Component and replication enabled. -
Animation Blueprint is assigned correctly in the Skeletal Mesh.
-
Movement replication (
bReplicates = trueandbReplicateMovement = true) is enabled on the character. -
I’m updating animation variables like Speed, IsInAir, etc., in the
AnimInstanceusingTryGetPawnOwner()and casting it to my character class.
What I’ve tried:
-
Verified that
GetVelocity()andIsFalling()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:
-
How can I ensure that the client’s Animation Blueprint receives updated movement values?
-
Do I need to explicitly replicate movement data to the AnimInstance, or is that handled automatically?
-
Is there a more reliable way to sync animation state in a replicated multiplayer character?
Any advice or examples would be really appreciated. Thanks!