CharacterMovement Component


I’m building a mech game. When the player wants to move his robot/mech he uses wasd keys and i play a certain animation depending on what keys are pressed and it works all fine and well.

Here is the problem:

Once the game determined what direction the player wants to move it plays the animation, so the player can stop pressing the keys and the character would still be moving until the animations is complete.
I can’t manage to get around to that part where the character moves even if the player isn’t pushing any buttons.

What i have done so far is utilizing animation notifications for when animations are starting. Lets say Forward animation is playing the animation notification triggers and cast to my character Blueprint and gets the movement Component then to set the Velocity varible. This only happens once per time a animation is played but for some reason the Velocity is going back to 0 within 2-3 frames so my character only moves less then 1 unreal unit ingame per animation that is played. In this example the velocity is set to 2000 for forward animation. When Idle animation is played the velocity varible is set to 0,0,0.

I’ve allso tryd doing this with a whileloop but it keeps crashing saying a infinite loop has occured.

Any ides how to do this kind of a thing? The character is able to walk in 8 directions, For, back-wards, sidesteps. Forward left, right. Backward, left and right.

P.S the ides is that once you move you have comeited to move so utalizing a blend space for this isn’t want I want.
Using root motion doesn’t work cause it doesn’t utlize the Z dimension which renders my animation to look a bit weird.