Verified integration recipe
Use Custom Pathfinding Instead of NavMesh
Implement the four-member IPathfinder interface so Argus investigation, patrol, and search actions can drive a grid, steering, or third-party movement system.
Best for: Grid movement, custom steering, deterministic navigation, and non-NavMesh projectsThe connection pattern
- Create a MonoBehaviour that implements Argus.Pathfinding.IPathfinder.
- Forward destinations and stop requests to your movement system.
- Report arrival using the movement system own distance or completion signal.
- Place the adapter on the StealthAgent object or one of its children so Argus can discover it.
Minimal adapter
custom-pathfinding.csCopy into your game assembly
using UnityEngine;
using Argus.Pathfinding;
public sealed class CustomPathfinderAdapter : MonoBehaviour, IPathfinder
{
public Vector3? CurrentDestination { get; private set; }
public bool TrySetDestination(Vector3 destination)
{
CurrentDestination = destination;
// TODO: forward destination to your movement system.
return true;
}
public bool HasReachedDestination()
{
// TODO: return your movement system completion test.
return CurrentDestination.HasValue
&& Vector3.Distance(transform.position, CurrentDestination.Value) < 0.25f;
}
public void Stop()
{
CurrentDestination = null;
// TODO: stop your movement system.
}
} Why this seam stays stable
The built-in patrol and investigation actions search the guard hierarchy for IPathfinder. They do not require a NavMeshAgent when your adapter is present.
The example leaves two explicit forwarding points because every movement package has a different API. The interface itself is the tested Argus boundary: set a destination, report arrival, stop, and expose the current destination.