You should run this animation on a localscript. Player characters have an animator inside of their humanoids. This is for the purpose of client-server replication of animations. Meaning, you can play an animation on a localscript on the client and it will still be able to be seen by other players.
Furthermore, if you are going to run this in a localscript, I suggest you yield until the player's character exists, because it takes some time for the character to load.
02 | local Players = game:GetService( "Players" ) |
03 | local Player = Players.LocalPlayer |
04 | local Character = Player:WaitForChild( "Character" ) |
05 | local Humanoid = Character:WaitForChild( "Humanoid" ) |
07 | local Animation = Instance.new( "Animation" ) |
09 | local AnimTrack = Humanoid:LoadAnimation(Animation) |