XESOFT Explore Argus
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 projects
01

The connection pattern

  1. Create a MonoBehaviour that implements Argus.Pathfinding.IPathfinder.
  2. Forward destinations and stop requests to your movement system.
  3. Report arrival using the movement system own distance or completion signal.
  4. Place the adapter on the StealthAgent object or one of its children so Argus can discover it.
02

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.
    }
}
03

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.

Complete source included

Use the seam—or own the implementation.

Every Argus runtime assembly ships as readable C# source. The public interfaces are the clean starting point, not a wall around the system.