Yup - you gota wait in between enabling them! The navmesh needs some frames to recalculate.. not sure how many but 0.1seconds seems to do it.
Try with this: Code (CSharp): private void Update(){ var path = new NavMeshPath(); NavMesh.CalculatePath(transform.position, transform.position, NavMesh.AllAreas, path); if (path.corners.Length > 0){ GetComponent<NavMeshAgent>().enabled = true; } } basically we are trying to calculate if the position of the gameobject is "walkable" if not we wait for next update to try again until the navMesh clear the obstacle.