How to update character position after attack animation?

I have an attack animation for the player, when this plays the character steps forward to attack while this is happening the model itself is moving forward while the components such as the collider stays in place and so does the armatures. This causes the character to slide back after the attack animation is finished. So how do i update the position of the character to stay in place as soon as the animation is finished? image below shows last frame of animation

When the animation is playing and stepping forward none of the components or the model’s transform are updating so I cant use the values, i tried using an empty gameobject to update the values but the model is always ahead of the components so it’ll slide back

I tried doing it with code to step forward while attacking but it didn’t look natural so i prefer to do through animation. I also tried messing around with root motion but that didn’t work.

been stuck on this for a while now an any guidance will help.
Thanks.

The animation only moves the mesh. I would recommend that you do not use animation to move the character. Just change your animation so it doesn’t change the position, and move it using a script.