I’m working on a Pet / Follower system at the minute and attempting to implement Animations - However, as you can see from the images below - They’re not replicated across Clients.
How my Pet system works: Server:
Spawns Pet, already loaded with an AnimationController.
The “Pet” is then attached via Motor6D to a walker model that handles Movement.
Client:
Inserts a Humanoid into the Walker Model which controls the Movement of the Pet.
Requires a Module (Default ROBLOX animation script) within the Pet that links the Humanoid & AnimationController and Plays required animations.
Client:
Server:
Yes the AnimationController already has a Animator inside it, also.
The “pet” is an NPC, controlled automatically. Make that server side animations, and your life will be much easier down the line.
To fix this particular error, by any chance are you using Animation objects to store animation IDs? Those objects lose their data under unknown conditions when cloned, resulting in gliding NPCs. My original workaround was to store an AnimationID as a StringValue. Nowadays, I don’t clone these objects. I store animations on the server and play them from the server, for everything.
Granted, I’ve found a work around for this anyway - Similar; they are played on the Server.
So a Pseudo StringValue is set up to detect the NPC’s state.
i.e. Running, Idle etc.
When the State changes, it’ll then Fire a RemoteEvent which will then Play the neccessary animation.