You should try loading the animation from the client, since with having the variable you can do a :Pause() on it. But from the server, you’ll just be wasting memory
I tried loading the animation from the client, the issue is, it doesn’t ended up showing for other players. I believe because I am loading an animation not for my own character.
local AnimationTrack = nil
RemoteEvent.OnServerEvent:Connect(function(Player)
if not AnimationTrack then AnimationTrack = Instance:LoadAnimation(AnimationObject) end
AnimationTrack:Play()
task.wait(0.5)
AnimationTrack:Stop()
end)
With this approach the animation would only be loaded once (regardless of how frequently the ‘RemoteEvent’ object is fired).