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?