"Find Path to Location Synchronously" always showing valid

I’m trying to determine if there is a path from my AI character to the target pawn, in blueprints.

I do not want to actually move the pawn yet, but just check if there is a path.

I tried using the service shown in the attached image, but it always returns valid, even when the target is outside the navigation volume bounds.

Is there a way to fix this or a more efficient way to check?

I found a way to make it work but I’d like a more efficient way to do this.

Also, why is the last node of the navigation path a different z value than the target actor?

FindPathToActorSyncronously returns a path object. You need to query that path object for details to know exactly what was the result of pathfinding. Specificly you’re interested in results of IsValid and IsPartial functions.

Also, why is the last node of the navigation path a different z value than the target actor?

Path end point lies on the navmesh, while actor’s location is usually in its “middle” (for example pelvis location for humanoids).

Cheers,

–mieszko

Thanks. This was helpful.