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.

Movement script for curved worlds.

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.

Policy for how often to recalculate an agent's path.

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.

Convenience class to access the default implementation of the ITraversalProvider.

Determines how to measure distances to the navmesh.

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.

Calculates paths from everywhere to a single point.

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

Traces a path created with the Pathfinding.FloodPath.

Movement script that uses ECS.

Implements the funnel algorithm as well as various related methods.

Simplifies paths on navmesh graphs using the funnel algorithm.

Handles collision checking for graphs.

Base class for all graph editors.

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

Lock which can be held while no graph updates should be done.

Holds a bitmask of graphs.

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.

Custom rule for a grid graph.

Container for all rules in a grid graph.

Information about a linecast hit on a grid graph.

Node used for the GridGraph.

Base class for GridNode and LevelGridNode.

Simplifies a path on a grid graph using a string pulling algorithm.

Simple GUI utility functions.

Holds a hierarchical graph to speed up certain pathfinding queries.

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 bounding box.

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.

Stores a set of navmesh tiles which can be placed on a recast graph.

Editor for the NavmeshPrefab component.

Helper for navmesh cut objects.

Nearest node constraint.

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.

Represents a single pathfinding tag.

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.

Helper for following a path.

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.

Applies penalty based on the slope of the surface below the node.

Applies penalty based on the elevation of the node.

Modifies nodes based on the layer of the surface under the node.

Modifies nodes based on the contents of a texture.

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)

Delegate with on Path object as parameter.

OnScanDelegate (script)

Public Enums


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


Determines collision check shape.


How to visualize the graphs in the editor.


Info about if a graph update has been applied or not.


How to estimate the cost of moving to the destination during pathfinding.


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)