Animation does not run immediately

This topic is related to one of my previous posts:

My problem in this post is now how the animation runs. My custom tool animations do not run immediately when I equip a tool, and the default animations do not run immediately as well when I unequip a tool.

I’ve searched the devforum and found this “hacky” solution:

It worked, but now when I equip/unequip the tool, the running animation does not run immediately until I jump or stop:

Is there any other way to solve this other than using this “hacky” solution?

Don’t replace the animate script!
Just have a block of code that checks if the player is moving forward, such as if Humanoid.MoveDirection.Magnitude > 0 then

And, if the player is running, play the run animation, if not, then stop the animation track (You can name animation tracks you load, so you can find them by iterating through all playing tracks on the character using :GetPlayingAnimationTracks() and checking their names for the specific name you gave it.)

You can also use ContentProvider to preload animations before you actually play them, using :PreloadAsync()

I suggest you search these on the documentation if you dont know how to use these methods/services.

Unfortunately, both of your methods fail to solve the problem.

cant you use the same “hacky solution?”

im pretty sure since this is a core script thing you cant do much to fix it unless you make your own animate script, which has its own downsides.

I did, and it still doesn’t work sadly.

It’d be easier to copy the animate script (like when you click play) and paste it and replace whatever you need. I did it and it works perfectly. The Animate script will not be created if you copy it.