Namespace Pathfinding



Local avoidance related classes.


Basic path, finds the shortest path from A to B.

Ending condition which emulates the default one for the ABPath.

Smoothing by dividing path into turns and straight segments.

Base class for AIPath and RichAI.

Sets the destination of an AI to the position of a specified object.

Linearly interpolating movement script.

AI for following paths.

Applies penalty to the paths it processes telling other units to avoid choosing the same path.

Stores editor colors.

Stores the navigation graphs for the A* Pathfinding System.

Debugger for the A* Pathfinding Project.

Utility functions for working with numbers and strings.

Contains various spline functions.

Handles update checking for the A* Pathfinding Project.

An item of work that can be executed when graphs are safe to update.

Axis Aligned Bounding Box Tree.

Binary heap implementation.

Manager for blocker scripts such as SingleNodeBlocker.

Represents a connection to another node.

Finds all nodes within a specified distance from the start.

Added to editors of custom graph types.

Helper for drawing debug information for the recast graph.

Convenience class to access the default implementation of the ITraversalProvider.

Attach this script to any obstacle with a collider to enable dynamic updates of the graphs around it.

Helper for creating editors.

Handles fading effects and also some custom GUI functions such as LayerMaskField.

Target is found when the path is longer than a specified value.

Ending condition which stops a fixed distance from the target point.

Implements heuristic optimizations.

Editor helper for hiding and showing a group of GUI elements.

Returns a path heading away from a specified point to avoid.

Floods the area completely for easy computation of any path to a single point.

Restrict suitable nodes by if they have been searched by a FloodPath.

Traces a path created with the Pathfinding.FloodPath.

Implements the funnel algorithm as well as various related methods.

Simplifies paths on navmesh graphs using the funnel algorithm.

Handles collision checking for graphs.

Defined here only so non-editor classes can use the target field.

Returned by graph ray- or linecasts containing info about the hit.

GraphModifier is used for modifying graphs or processing graph data based on events.

Base class for all nodes.

Represents a collection of settings used to update nodes in a specific region of a graph.

Helper class for easily updating graphs.

Contains useful functions for updating graphs.

Contains utility methods for getting useful information out of graph.

Generates a grid of nodes.

Node used for the GridGraph.

Base class for GridNode and LevelGridNode.

Simple GUI utility functions.

Common interface for all movement scripts in the A* Pathfinding Project.

Exposes internal methods for graphs.

Interface for something that holds a triangle based navmesh.

Two Dimensional Integer Coordinate Pair.

Holds a coordinate in integers.

Integer Rectangle.

Used for hiding internal methods of the Path class.

Base for all path modifiers.

Graph which supports the Linecast method.

Graph which has a well defined transformation from graph space to world space.

Provides additional traversal information to a path request.

Graphs which can be updated during runtime.

Interface to expose a subset of the WorkItemProcessor functionality.

Grid Graph, supports layered worlds.

Describes a single node for the LayerGridGraph.

Base class for path modifiers which can be attached to GameObjects.

A path which searches from one point to a number of different targets in one search or from a number of different start points to a single target.

Base class for all graphs.

Adds new geometry to a recast graph.

Base class for RecastGraph and NavMeshGraph.

Attach to any GameObject and the object will be clamped to the navmesh.

Base class for the NavmeshCut and NavmeshAdd components.

Navmesh cutting is used for fast recast/navmesh graph updates.

Generates graphs based on navmeshes.

Helper for navmesh cut objects.

Nearest node constraint.

Result of a nearest node query.

Internal result of a nearest node query.

Connects two nodes with a direct connection.

Connects two nodes via two intermediate point nodes.

Connects two TriangleMeshNodes (recast/navmesh graphs) as if they had shared an edge.

Helper for enabling or disabling compiler directives.

Base class for all path types.

Customized ending condition for a path.

Handles thread specific path data.

Base class for path modifiers which are not attached to GameObjects.

A special NNConstraint which can use different logic for the start node and end node in a path.

Stores temporary node data for a single pathfinding request.

Pools path objects to reduce load on the garbage collector.

Contains useful functions for working with paths and nodes.

Simple patrol behavior.

Basic point graph.

Represents a collection of GraphNodes.

Node used for the PointGraph.

Utility functions for working with polygons, lines, and other vector math.

Moves a grid graph to follow a target.

Progress info for e.g a progressbar.

Radius path modifier for offsetting paths.

Finds a path in a random direction from the start node.

Simplifies a path using raycasting.

Axis Aligned Bounding Box Tree.

Automatically generates navmesh graphs based on world geometry.

Editor for the RecastGraph.

Explicit mesh object for recast graphs.

Updates the recast tile(s) it is in at start, needs RecastTileUpdateHandler.

Helper for easier fast updates to recast graphs.

Pruning of recast navmesh regions.

Advanced AI for navmesh based graphs.

Handles path calls for a single unit.

Modifier which smooths the path.

Blocks single nodes in a graph.

Adjusts start and end points of a path.

Moves the target in example scenes.

Queue of paths to be processed by the system.

Helper for navmesh cut objects.

Node represented by a triangle.

Helper class to keep track of references to GameObjects.

Various vector math utility functions.

Base class for all components in the package.

Extended Path.

Public Methods

OnGraphDelegate (graph)
OnPathDelegate (p)
OnScanDelegate (script)

Public Enums


What to do when the character is close to the destination.


Determines collision check shape.


What data to draw the graph debugging with.


How to estimate the cost from to the destination.


Number of neighbours for a single grid node.


Determines which direction the agent moves in.


State of a path request.


How path results are logged by the system.


Internal state of a path in the pipeline.


Determines collision check ray direction.


Indicates the side of a line that a point lies on.


Number of threads to use.

Public Typedefs


Deprecated Members

OnScanStatus (progress)