3D runner game: Left and right movement not working the way I want it to

I made a 3D runner game type thing, like subway surfers, but when you switch paths all my code does is teleport you, I want it to actually make the player walk/dash to that exact position. How?

my rn code (for left movement):

player.Character:MoveTo(player.Character:GetPivot().Position + Vector3.new(10,0,0))

The code you sent does exactly that: it “teleports” your character. If you want to solve it, you can use interpolation instead:

local Interpolation = 0.5 --notice that 0 < Interpolation < 1
local CurrentCFrame = Character:GetPivot()
local TargetCFrame = CFrame.new(10,0,0)
Character:PivotTo(CurrentCFrame:Lerp(TargetCFrame, Interpolation))

But this piece here ^ would need to be ran every frame, though. Tweening is also an option, but I’m not sure if it will fit in your case well. Other options also include bodymovers like BodyPosition / AlignPosition.