Hello, I am trying to figure out how to implement navigation on ARPlanes, that keeps changing size as more feature points are getting detected. I have this code for dealing with variable size ARPlanes: Code (CSharp): void boundaryChangedFunction(ARPlaneBoundaryChangedEventArgs aRPlaneBoundaryChangedEventArgs) { ARPlane tempPlane = aRPlaneBoundaryChangedEventArgs.plane; var setPlane = m_ARPlaneManager.planePrefab; NavMeshSurface tempNavMeshSurface = tempPlane.gameObject.GetComponent<NavMeshSurface>(); if (tempNavMeshSurface) { Debug.Log(tempPlane.name + " has a NavMeshSurface, will bake it!"); tempNavMeshSurface.BuildNavMesh(); } else { Debug.Log(tempPlane.name + " does not have a NavMeshSurface. Will add one and bake!"); tempPlane.gameObject.AddComponent<NavMeshSurface>(); tempPlane.gameObject.GetComponent<NavMeshSurface>().BuildNavMesh(); } } You can see that each time the plane changes size then I am calling "BuildNavMesh();". No performance issues so far. The problem arises when I try to add an agent. I add a small AR object by tapping on the plane and in my Update() method I have: Code (CSharp): void Update() { if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); if (m_SessionOrigin.Raycast(touch.position, s_Hits, TrackableType.PlaneWithinPolygon)) { Pose hitPose = s_Hits[0].pose; if (spawnedObject == null) { spawnedObject = Instantiate(m_PlacedPrefab, hitPose.position, hitPose.rotation); navAgent = spawnedObject.AddComponent<NavMeshAgent>(); //THIS CAUSES THE PROBLEM } } } } But I keep getting this error: "Failed to create agent because it is not close enough to the Navmesh". Then when I try to move the agent nothing happens. The issue with AR is that since all objects are dynamically added I can't use the drag & drop feature of Unity, as it is usually done for static scenes.