// Called every frame because the queue start can change position at anytime private void MoveToAttraction() { if (attractionDest) { goal = attractionDest.GetQueueStart().position; agent.SetDestination(goal); } else { GetDestination(); } }