Server animations don't replicate on a client

When a server plays a humanoid animation for a character not under workspace, and a client parents that character under workspace, the animation won’t replicate. GetPlayingAnimationTracks() will return {} on the client, but {Animation} on the server. The animation will replicate only if the server parents the character under workspace

Repro file: Repro.rbxl (83.0 KB)

It’s intended behavior. Parent the Avatar2 model under a WorldModel and it all starts working.

1 Like

I’ve been noticing this today too, its only on my recently imported custom rig which contains bones. the animations play on the server but for some reason refuse to play on the client. all the existing rigs seems to be unaffected.

edit: I tried playing the animation from a localscript and it seems to work, im wondering if roblox just isnt replicating bone rigs at all.

Well, you are right about a WorldModel, but I don’t believe this behavior is intended for the following reason. Animations are always handled on the client, even when you play it on the server side. The server only replicates which animation to play, and the client plays it. A WorldModel supports plenty of features, so it wouldn’t be a surprise if it supported animation replication. However, I think the ability to play an animation in these specific circumstances was just overlooked and should be added

in most cases yes animations should be on the client, but when using npcs (especially if they perform actions that depend on limb position) they require animations to play on the server.

fortunately I can still just tell the client to start playing an animation but this should not even be necessary as there should not be any reason for motor6D joints to replicate and not bones.

This is just an acknowledgment announcement!

We’ve filed a ticket into our internal database for this issue and will start investigating, we will update you when we have further information.

Thanks for flagging!

1 Like