Thanks!
what i did was (i have perspective camera, so for orthographic the first part is a bit different):
Vector3 targetPosition = Input.mousePosition; targetPosition.z = 10; //replace 10 with world zero (difference from camera position to player position) //set the target position based on the mouse input position targetPosition = playerCam.ScreenToWorldPoint(targetPosition); Vector3 direction = targetPosition - transform.position; float distance = maxSpeed * Time.deltaTime; if (direction.magnitude <= distance) transform.position = targetPosition; else transform.Translate(direction.normalized * distance, Space.World);
its quite hacky, probably not bug free but it works!
if something needs explaination i can, but i think the names of all the things explain what happens quite good.