Рух по маршруту

public GameObject[] waypint;  // в Юніті вказати кількість і додати об'єкти

public int num = 0;                 // почати з об'єкту номер 0 

public float minDist = 1.0f;

public float speed = 0.1f;

public bool rand = false;

void FixedUpdate () {

float dist = Vector3.Distance(gameObject.transform.position,waypint[num].transform.position);

if(dist > minDist)

{

Move();

}

else

{

if(rand == false)

{

if(num + 1 == waypint.Length)

{

num = 0;

}

else

{

num++;

}

}

else

{

num = Random.Range(0, waypint.Length);

}

}

}

public void Move(){

gameObject.transform.LookAt(waypint[num].transform.position);

transform.Translate(Vector3.forward * speed);

}