transform.position =
    Vector3.MoveTowards(
        transform.position,
        target.position,
        speed * Time.deltaTime
    );

Check arrival:

if (Vector3.Distance(
    transform.position,
    target.position) < 0.1f)
{
    Debug.Log("Arrived");
}

Direction:

Vector3 direction =
    (target.position -
     transform.position).normalized;