Can I send Animations from server to client and still can checking events like TrackStopped?

So they told me that it’s better to activate the animations on the client, because it causes less delay, the problem is that the animation I’m activating is part of a skill, and I’m checking when it stops (Track.Stopped: Wait ()), when the animation stops, I continue the code, if I send the track to the client using RemoteEvent, how can I check if it stopped to continue the code?

Animations are part of physical movement on Roblox and are therefore automatically replicated. You can play an animation on the client first to minimize delay, and connect an AnimationPlayed event on the player’s humanoid to capture the animation tracks on the server to use for keyframe or stopped events. You do not need a RemoteEvent. If you were to send an animation from the server to the client, then play it, it will still have delay since you are sending it from the server.

Animations are not quite part of the physics pipeline, rather they’re in their own pipeline with maybe a few things related to physics such as collisions. Animations are replicated by the Animator object, it’s not automatic and you can even disable this replication by replacing the Animator.

1 Like

But how can i capture from server? Also i will need send from server cause my game is RPG, so have a lot of skills and classes, so players wont have all the skills, so i cant put the all LocalScript of all skills on all Players

But how can i replicate and capture on Server?

I wasn’t answering your post, I was responding to a section of someone else’s post. In regards to the issue you’re facing… why not test it out? You should be doing that first before posting threads.

You posted this thread an hour ago but a quick test could have saved you that time. You can check if the server can see client-played animations. Play an animation from the client, then have the server use GetPlayingAnimationTracks a bit later and then print what’s in that table. That in itself will determine further requirements for you.

Ideally, if you can’t see replicated playback on both environments and just access the playing track object, then you’re going to have to use arrival prediction on one environment or the other: the client matching an animation up to the server’s time, or the server matching up events to when the client is expected to finish animating.

1 Like

So i cant capture the animation from server?