Events Dont Fire On Client For Animations Played On Server

Hey there!

I’m trying to build an Ability System which functions like so:

  • Client1 presses a button, tells server they want to activate an ability.
  • Server validates this, plays the ability’s animation and sends Client1’s Humanoid along with the animation id to all clients.
  • Every client gets the animationTrack using Humanoid:GetPlayingAnimationTracks() and listens to VFX Animation Events on that ability animation track.

→ The reason I’m building this system is because it helps make vfx feel responsive by letting every client handle it through animation events.
→ I’ve managed to get the animation track on a different Client2 that the server plays on Client1.

Here’s the problem:
When I get the animation track played by the server on ANY client (Client1 or Client2), I found that AnimationTrack:GetMarkerReachedSignal(eventName) returned the signal successfully, but never fired when connected to a function.

This might be intended behavior, but I really need a way around this to let every client connect to the server animation, listen to animation events and play vfx when those events fire.