Animation on non character with network ownership not replicating

The Goal
I have a custom, non-character non-humanoid player model that I am trying to animate when it runs, jumps, and does other actions.

The Issue
The animation is not replicating. Yes, I can play the animations on the server, however it looks bad/laggy that way. This developer article says that models with network ownership set to the client will allow the client to play animations on it and have them replicate: Animator:LoadAnimation

When called on Animators within models that the client has network ownership of, ie. the local player’s character or from BasePart:SetNetworkOwner , this function also loads the animation for the server as well.

This, however, is not the case.

Possible Solutions
My assumption is that I need to play it on the client, fire the server, and have the server tell every other client to play the animation. My question is: how do I achieve this efficiently? My assumption is that having a localscript call :LoadAnimation() every time will cause a delay or be a bad practice, but this would mean that I have to load every animation on every player when the client loads, and also on every new player that joins, and keep track of it using a module or table. This seems like more trouble than I’d expect for this issue.

Is there an easier way to do this? Is it bad to simply call :LoadAnimation every time a remote is fired? Or do I need to script a more advanced system for this?

2 Likes

hi! have you gotten any effective solution?

1 Like

Not really, I did what I stated after, where I create a localscript that does it for other characters when a remote event tells it too, and keeps track of what it has loaded.

however

I think a better answer would be to use state machines on the characters. An attribute or a tag for state that other clients can just grab from workspace to update, that way it’s not based on remote events and would be easier on the network