Which is better for custom walk

Which is better for custom walk?
1 - Server Script


game.Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:Connect(function(char)
		char.Animate.walk.WalkAnim.AnimationId = "rbxassetid://YOURANIMATIONID"
		char.Animate.run.RunAnim.AnimationId = "rbxassetid://YOURANIMATIONID"
	end)
end)

2 - Local Script on StarterCharacterScripts

local walkId = IDHERE
local humanoid = character:FindFirstChildWhichIsA("Humanoid")

local walkAnim = script.Walk
local walkAnimTrack = humanoid.Animator:LoadAnimation(walkAnim)

humanoid.Running:Connect(function(speed)
  if speed > 0 then
    if not walkAnimTrack.IsRunning then
      walkAnimTrack:Play()
    end
  else
    if walkAnimTrack.IsPlaying then
      walkAnimTrack:Stop()
    end
  end
end)
1 Like

I’m pretty sure you can only animate a player through a local script

local script 100%

1 Like

Local script for sure…

(Animating from the server would not work at all or appear really choppy due to lag :grimacing:)

If you just want a custom walk animation, I suggest going into an empty baseplate and copying the “animate” script from the player’s character. Then, put it in StarterCharacterScripts. It’ll let you change IDs of things like idling, walking, running, climbing, all that fun stuff.
With your current setup, you might see some interference with the stock animate script. At the very least, you’ll be wasting animation priorities, and you only get four of those.