下記のスクリプトのようなオブジェクトが滑らかに移動する動作をUIのボタンを押したら移動するようにしたいのですがどうすればいいでしょうか?

public class Move : MonoBehaviour
{

//スタートとゴールの設定
public Transform StartPosition;
public Transform GoalPosition;

// スピードの設定
public float speed = 1.0f;

//2点間の距離を入れる
private float distance_two;

void Start()
{
//二点間の距離を代入
distance_two = Vector3.Distance(StartPosition.position, GoalPosition.position);
}

void Update()
{
// 現在の位置
float present_Location = (Time.time * speed) / distance_two;
// オブジェクトの移動
transform.position = Vector3.Lerp(StartPosition.position, GoalPosition.position, present_Location);
}
}