Вам отлично подходит MoveTowards. Работает он следующим образом:
1) Сначала он берёт первый аргумент - текущее положение объекта.
2) Затем берёт второй - место, куда объект стремится в итоге попасть.
3) Прокладывает путь между этими точками, после чего отмеряет на этом пути расстояние, равной третьей аргументе - шагу.
4) И возвращает местоположение, куда вам нужно переместить объект.
Плюс этого метода в том, что вы никогда не пройдёте дальше цели. Выглядеть это будет как-то так:
using UnityEngine;
public class ClickMoveExample : MonoBehaviour {
public Transform target;
public float moveDelta = 0.1f;
void Update() {
if (Input.GetMouseButtonDown(0))
transform.position = Vector3.MoveTowards(transform.position, target.position, moveDelta);
}
}