Strange behavior - 2D

I have the following setup:

  1. A* as a Grid Graph of 512x512
  2. Use 2D Physics
  3. Collision testing - circle, 0.5 diameter

My AI are setup with:

  1. Seeker - Closest on Node for both
  2. AI Lerp - Repath rate 0.5, Can search No, Can Move Yes, Enable Rotation No, Interpolate Switches Yes

If I turn on Can Search, in the scene window I can see them patching to (0,0,0) for a split second and then the path switches to my intended target. Its very strange as they constantly try (0,0,0) and switch to the target right away. When I turn off search, this no longer happens. Is this intended?

Now the real problem… I have 3 AI units. After I move the target around several times (its the player walking around,) one of the units gets lost and stops pathing. It is doing something as I can see it moving around. But, the debug green line is no longer visible and the unit behaves very strangely.

I am using the path finding logic from the documentation.

if (Time.time > lastRepath + repathRate && seeker.IsDone()) 
	{
		lastRepath = Time.time;

		// Start a new path to the targetPosition, call the the OnPathComplete function
		// when the path has been calculated (which may take a few frames depending on the complexity)
		seeker.StartPath(transform.position, targetPosition.transform.position, OnPathComplete);
	}	

Any thoughts what is going on? I can repeat the error every time within about 3 minutes.

In this screenshot you can see where it has happened to two of my AI units. They both still follow me around but keep a distance that is unexpected. Also, their green debug paths have disappeared for some reason. One of the units still follows as I would expect.

Let me add too that even though they stay close, they will get stuck on things and do not path properly.

Any ideas on this issue?

When canSearch is enabled the AILerp script will periodically recalculate a path to its destination, are you saying that you are also calling seeker.StartPath from another script? You should probably stick to either letting the AILerp script calculate the paths or do it completely in another script (so set canSearch to false).