Lane based movement questions

I’m currently making an infinite runner using [this tutorial][1]. However, I’m not satisfied with that movement. I want to restrict the player’s movement to three lanes.

I tried to achieve this by moving the character a set amount to the right or to the left. This didn’t work out because with this method I was changing the X value of the character and after making a corner the character would rotate 90 degrees so manipulating that value would just move the player forwards and backwards.

Then I tried using get actor right vector and using that for moving the player. This works as long as I’m using set actor location but this just teleports the character (to the right position however).

So my question is how can I smoothly move the character to the right position?

This is what I’m using right now.