A* Pathfinding Project  3.1.4
The A* Pathfinding Project for Unity 3D
 All Classes Namespaces Files Functions Variables Enumerations Properties Groups Pages
Package Pathfinding


package  Nodes
package  RVO
package  Serialization
package  Threading
package  Util


class  ABPath
 Basic path, finds the shortest path from A to B. More...
class  ABPathEndingCondition
class  AstarColor
 Stores editor colors. More...
class  AstarData
 Stores the navigation graphs for the A* Pathfinding System. More...
class  AstarSerializer
class  AstarSplines
 Contains various spline functions. More...
class  BBTree
 Axis Aligned Bounding Box Tree. More...
class  BBTreeBox
class  BinaryHeapM
 Binary heap implementation. More...
class  ConstantPath
 Finds all nodes within a specified distance from the start. More...
class  CustomPath
class  DebugUtility
class  EditorUtilities
class  EndingConditionDistance
 Target is found when the path is longer than a specified value. More...
class  FleePath
 Returns a path heading away from a specified point to avoid. More...
class  FloodPath
 Floods the area completely for easy computation of any path to a single point. More...
class  FloodPathConstraint
 Restrict suitable nodes by if they have been searched by a FloodPath. More...
class  FloodPathTracer
 Traces a path created with the Pathfinding::FloodPath. More...
class  GraphCollision
 Handles collision checking for graphs. More...
class  GraphEditorBase
 Defined here only so non-editor classes can use the target field. More...
struct  GraphHitInfo
 Returned by graph ray- or linecasts containing info about the hit. More...
class  GraphModifier
 GraphModifier for modifying graphs or processing graph data based on events. More...
class  GraphUpdateObject
 Represents a collection of settings used to update nodes in a specific area of a graph. More...
class  GraphUpdateShape
 Defines a shape for a Pathfinding::GraphUpdateObject. More...
class  GraphUpdateUtilities
 Contains useful functions for updating graphs. More...
class  GridGraph
 Generates a grid of nodes. More...
interface  INavmesh
struct  Int3
 Holds a coordinate in integers. More...
struct  IntRect
 Integer Rectangle. More...
interface  IPathModifier
 Base for all path modifiers. More...
interface  IRaycastableGraph
interface  ISerializableGraph
interface  ISerializableGraphEditor
interface  ISerializableObject
interface  IUpdatableGraph
class  LayerGridGraph
 Grid Graph, supports layered worlds. More...
class  LayerGridGraphUpdate
 GraphUpdateObject with more settings for the LayerGridGraph. More...
class  LevelGridNode
 Describes a single node for the LayeredGridGraph. More...
class  LinkedLevelCell
class  LinkedLevelNode
class  Mathfx
 Utility functions for working with numbers, lines and vectors. More...
class  Matrix
 Matrix implementation. More...
class  MeshNode
class  Modifier
 Base class for path modifiers which are not attached to GameObjects. More...
class  ModifierConverter
class  MonoModifier
 Base class for path modifiers which can be attached to GameObjects. More...
class  MultiGridGraph
class  MultiTargetPath
 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. More...
class  NavGraph
 Base class for all graphs More...
class  NavMeshGraph
 Generates graphs based on navmeshes. More...
class  NNConstraint
 Nearest node constraint. More...
struct  NNInfo
class  Node
 Holds one node in a navgraph. More...
class  NodeRun
class  NodeRunData
class  Path
class  PathEndingCondition
 Customized ending condition for a path. More...
class  PathNNConstraint
 A special NNConstraint which can use different logic for the start node and end node in a path. More...
class  PathPool< T >
struct  PathThreadInfo
 Holds info about one pathfinding thread. More...
class  PathUtilities
 Contains useful functions for working with paths and nodes. More...
class  PointGraph
 Basic point graph. More...
class  Polygon
 Utility functions for working with polygons, lines, and other vector math. More...
class  ProbableErrorException
 Thrown when reaching ridiculously large numbers during processing. More...
struct  Progress
class  RandomPath
 Finds a path in a random direction from the start node. More...
class  RecastGraph
 Automatically generates navmesh graphs based on world geometry. More...
class  RecyclablePathAttribute
class  TagMask
 Holds a tagmask. More...
class  UserConnection
 A class for holding a user placed connection. More...
class  Utility
class  XPath
 Extended Path. More...


enum  ColliderType { Sphere, Capsule, Ray }
 Determines collision check shape. More...
enum  ModifierData {
  All = -1, StrictNodePath = 1 << 0, NodePath = 1 << 1, StrictVectorPath = 1 << 2,
  VectorPath = 1 << 3, Original = 1 << 4, None = 0, Nodes = NodePath | StrictNodePath,
  Vector = VectorPath | StrictVectorPath
 Defines inputs and outputs for a modifier. More...
enum  NearestNodePriority {
  ReallyLow = 20, Low = 8, Normal = 5, High = 1,
  ReallyHigh = 0
 Used to weight nodes returned by the GetNearest function from different graphs. More...
enum  NumNeighbours { Four, Eight }
enum  RayDirection { Up, Down, Both }
 Determines collision check ray direction. More...

Enumeration Type Documentation

Determines collision check shape.


Uses a Sphere, Physics.CheckSphere.


Uses a Capsule, Physics.CheckCapsule.


Uses a Ray, Physics.Linecast.

Defines inputs and outputs for a modifier.


All bits set to 1.


Node array with original length.


Node array.


Vector path with original length (same as node path array length).

Think of it as: the node positions have changed


Vector path.


Used when the modifier requires to be the first in the list (or after a modifier outputting ModifierData.All)


Zero (no bits true)


Combine of NodePath and StrictNodePath.


Combine of VectorPath and StrictVectorPath.

Used to weight nodes returned by the GetNearest function from different graphs.


Used when only a simple range check or a similar algorithm was used.




Used when the node is a very good candidate to being the closest node (like when the position is inside a triangle on a navmesh), it is really hard to override this.


No other NavGraph can override this except if another graph returned ReallyHigh before this one.

Determines collision check ray direction.


Casts the ray from the bottom upwards.


Casts the ray from the top downwards.


Casts two rays in either direction.