Consistency issue: "Couldn't find a close node to the end point"

Hello,

i have the problem in the latest version (3.6): LogError (“Couldn’t find a close node to the end point”);,
ABPath.cs, line 237. All the errors could be a problem too. It seems to be, that when a lot of units stay together, which makes all the nodes around itself unwalkable, then the warning appears. And i guess the one in the middle don’t have any connection to the graph. I have a state machine, which relies on the defined PathCompleteXYZ callback. In this case no callback is coming and my state machine always stay in pathfinding state. Such errors can happen in a dense dynamic world and i have rarely such errors. I just call:

bool SearchPath() {
  ...
  setState(PState.PF)
  seeker.StartPath (transform.position, this.TargetPosition, OnPathComplete, GRIDMASK);
}
...

public void OnRepathComplete (Path p) {

        if (!p.error) {
            if (path != null) path.Release (this);
            path = p;
            path.Claim(this);
            SetState(PState.PathFound);
            return;
        } else {
            ClearPath();
            SetState(PState.Idle);
            p.Release (this);
            return;
        }
    }

I need a callback for these errors instead of a warning in the log window. The best solution would be to create an empty ABPath with the kind of error. Then i can take care of this, and maybe let the unit repath in 2 sec. again.

Probably you already have a ‘safe’ solution for this?

Thanks for your answer in advance.

Hm. Are you really sure that you do not get a callback?
When a path fails (such as when it cannot find a node close to the end point) it should call the callback with p.error = true.

Also. My suggestion is that you do not make nodes around the characters themselves completely unwalkable (since that easily leads to these kinds of problems). You could instead for example set the nodes to use a specific tag and then on the Seeker component set the penalty for that tag to be huge so that other units will avoid it if possible.

Sorry for this late answer, in another bug, where the path got an invalid node sometimes was the reason. This bug was already fixed in a newer version, and I guess, this bug is related to the another bug.