I've been googling and trying to find the answer to this but I think I'm just looking in the wrong places, so any help at all would be great! I have a simple move system for my turn based game. You click where you want your character to move and he navigates to that spot. Simple. Now I want to limit how far the player will move with each move command, so if his speed is 9 lets say, he will stop moving once he has moved 9 units. Now I could get the Vector3.Distance between the start position and the end position and just abruptly stop the player once the distance is 9 (using the example above) which is ok, but I don't like the sudden stop. My plan is to speed up and slow down the player nesr stsrting and stopping point, basically lerping/slerping the movement. So if I click way out in the map, how can I set the target that I move to to be exactly 9 (again just using an example number) units away from the player but in the direction that was clicked. For example if I clicked 20 units away, I want to draw a line between that point and the player, then set the new move to point at 9 units. Any suggestions?