Having to call the same function multiple time in order for it to work

use this instead


MyCharacter->CharacterMovement->Velocity += YourDir * YourSpeed;

FVector YourDir = the world space direction to move in
float YourSpeed = the magnitude of the direction vector.

and let us know if that works for you, so we know whether it is related to your use of MoveRight or if it is something else

an example direction:

FVector(0,0,1);

example speed

30000