I wrote a script where a NavMeshAgent go to a given position on trigger it changes the position. But it only does the start function.
public Transform Position1;
public Transform Position2;
public Transform Position3;
public Transform Position4;
public NavMeshAgent agent;
void Start() {
agent = GetComponent<NavMeshAgent> ();
agent.SetDestination (Position1.transform.position);
}
void OnCollisionEnter(Collision col) {
if(col.gameObject.CompareTag("Position1")) {
agent.SetDestination(Position2.transform.position);
}
if (col.gameObject.CompareTag ("Position2")) {
agent.SetDestination (Position3.transform.position);
}
if (col.gameObject.CompareTag ("Position3")) {
agent.SetDestination (Position4.transform.position);
}
if (col.gameObject.CompareTag ("Position4")) {
agent.SetDestination (Position1.transform.position);
}
}
}