Keep Player in Lane

I could do some convoluted craziness, but I assume there is a relatively easy way to do this.

I have a dynamically generated ‘track’ and I want to keep the player in one of three lanes, so when they hit left or right, they go to the next lane in that direction.

It seems like I can do that pretty easy using GetActorLocation, adding to the Y and SetActorLocation.

This works great until I go through a 90 degree turn, since the lanes are no longer parallel on the Y axis.

Ideas? Did I give enough information?

Bonus question, using SetActorLocation is a jarring change, how would I get it to transition smoothly while still moving forward (the player is always moving forward)?

Thanks in advance!

Nevermind, I think I have this. I don’t have the smooooooth part worked out yet, but I have the lane magic worked out :slight_smile: