I followed a youtube tutorial on how to set up an animation and i made it, but for some reason the animation is running ahead of the character instead of on the character. Why is this happening? How can I fix it?
You have root motion enabled on the animation. Root Motion allows you to create the movement of the character in a DCC app like Blender or Maya etc instead of using in-engine physics. You can get higher quality animations but making a controller for root motion is a bit more complicated than usual.
To fix your issue you can open your AnimBlueprint and in class defaults set Root Motion Mode to “Root Motion from Montages Only”. That should cancel root motion on all of your animations used in the AnimBlueprint. You can also open individual animations and untick root motion in the asset details.
It was on and it’s still happening. Imgur: The magic of the Internet
Open the animation itself and tick “Force Root Lock” in the asset properties.
I dont think that’s the problem. That does place the position of the animation on the character, but the animations get all kinds of weird and janky. https://youtu.be/A98IBnj0tM0
The issue remains that you are using root motion animations while your controller is made for in-place animations. You can use root lock and disable root motion on the controller. But to avoid the need for any such measure you should get animations without any root motion.