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

Namespaces

package  RVO
 Local avoidance related classes.
 
package  Serialization
 
package  Threading
 
package  Util
 
package  Voxels
 
package  WindowsStore
 

Classes

class  ABPath
 Basic path, finds the shortest path from A to B. More...
 
class  ABPathEndingCondition
 Ending condition which emulates the default one for the ABPath. More...
 
class  AdvancedSmooth
 Smoothing by dividing path into turns and straight segments. More...
 
class  AlternativePath
 Applies penalty to the paths it processes telling other units to avoid choosing the same path. More...
 
class  AnimationLink
 
class  AnimationLinkEditor
 
class  AstarColor
 Stores editor colors. More...
 
class  AstarData
 Stores the navigation graphs for the A* Pathfinding System. More...
 
class  AstarEnumFlagAttribute
 
class  AstarMath
 Utility functions for working with numbers, lines and vectors. More...
 
class  AstarProfiler
 
class  AstarSplines
 Contains various spline functions. More...
 
class  AstarUpdateChecker
 Handles update checking for the A* Pathfinding Project. More...
 
class  AstarUpdateWindow
 
class  BBTree
 Axis Aligned Bounding Box Tree. More...
 
class  BinaryHeapM
 Binary heap implementation. More...
 
class  ConstantPath
 Finds all nodes within a specified distance from the start. More...
 
class  ConvexMeshNode
 
class  CustomPath
 
class  DebugUtility
 Helper for drawing debug information for the recast graph. More...
 
class  EditorGUILayoutx
 Handles fading effects and also some custom GUI functions such as LayerMaskField. More...
 
class  EditorUtilities
 
class  EndingConditionDistance
 Target is found when the path is longer than a specified value. More...
 
class  EndingConditionProximity
 Ending condition which stops a fixed distance from the target point. More...
 
class  EuclideanEmbedding
 Implements heuristic optimizations. 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  FunnelModifier
 Simplifies paths on navmesh graphs using the funnel algorithm. More...
 
class  GraphCollision
 Handles collision checking for graphs. More...
 
class  GraphEditor
 
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  GraphNode
 
class  GraphUpdateObject
 Represents a collection of settings used to update nodes in a specific region of a graph. More...
 
class  GraphUpdateScene
 Helper class for easily updating graphs. 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...
 
class  GridGraphEditor
 
class  GridNode
 
class  GridNodeBase
 Base class for GridNode and LevelGridNode. More...
 
class  GUIUtilityx
 Simple GUI utility functions. More...
 
interface  IFunnelGraph
 Graphs implementing this interface have support for the Funnel modifier. More...
 
interface  INavmesh
 
interface  INavmeshHolder
 
struct  Int2
 Two Dimensional Integer Coordinate Pair. More...
 
struct  Int3
 Holds a coordinate in integers. More...
 
struct  IntRect
 Integer Rectangle. More...
 
interface  IPathModifier
 Base for all path modifiers. More...
 
interface  IRaycastableGraph
 
interface  IUpdatableGraph
 Graphs which can be updated during runtime. More...
 
class  LayerGridGraph
 Grid Graph, supports layered worlds. More...
 
class  LayerGridGraphEditor
 
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  MeshNode
 
class  MineBotAI
 AI controller specifically made for the spider robot. More...
 
class  ModifierConverter
 
class  MonoModifier
 Base class for path modifiers which can be attached to GameObjects. More...
 
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  NavmeshAdd
 Adds new geometry to a recast graph. More...
 
class  NavmeshClamp
 Attach to any GameObject and the object will be clamped to the navmesh. More...
 
class  NavmeshCut
 Navmesh cutting is used for fast recast graph updates. More...
 
class  NavMeshGraph
 Generates graphs based on navmeshes. More...
 
class  NavMeshGraphEditor
 
class  NNConstraint
 Nearest node constraint. More...
 
struct  NNInfo
 
class  NodeLink
 
class  NodeLink2
 
class  NodeLink3
 
class  NodeLink3Node
 
class  ObjImporter
 
class  OptimizationHandler
 Helper for enabling or disabling compiler directives. More...
 
class  Path
 Base class for all path types. More...
 
class  PathEndingCondition
 Customized ending condition for a path. More...
 
class  PathHandler
 Handles thread specific path data. More...
 
class  PathModifier
 Base class for path modifiers which are not attached to GameObjects. More...
 
class  PathNNConstraint
 A special NNConstraint which can use different logic for the start node and end node in a path. More...
 
class  PathNode
 Stores temporary node data for a single pathfinding request. More...
 
class  PathPool< T >
 Pools path objects to reduce load on the garbage collector. More...
 
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  PointGraphEditor
 
class  PointNode
 
class  Polygon
 Utility functions for working with polygons, lines, and other vector math. More...
 
class  Profile
 
struct  Progress
 Progress info for e.g a progressbar. More...
 
class  QuadtreeGraph
 
class  QuadtreeGraphEditor
 
class  QuadtreeNode
 
class  QuadtreeNodeHolder
 
class  RandomPath
 Finds a path in a random direction from the start node. More...
 
class  RaycastModifier
 Simplifies a path using raycasting. More...
 
class  RecastBBTree
 Axis Aligned Bounding Box Tree. More...
 
class  RecastBBTreeBox
 
class  RecastGraph
 Automatically generates navmesh graphs based on world geometry. More...
 
class  RecastGraphEditor
 Editor for the RecastGraph. More...
 
class  RecastMeshObj
 Explicit mesh object for recast graphs. More...
 
class  RelevantGraphSurface
 Pruning of recast navmesh regions. More...
 
class  RichAI
 Advanced AI for navmesh based graphs. More...
 
class  RichFunnel
 
class  RichPath
 
class  RichPathPart
 
class  RichSpecial
 
class  SimpleSmoothModifier
 Modifier which smooths the path. More...
 
class  StartEndModifier
 Adjusts start and end points of a path. More...
 
class  TagMask
 Holds a tagmask. More...
 
class  TargetMover
 
class  ThreadControlQueue
 Queue of paths to be processed by the system. More...
 
class  TileHandlerHelper
 Helper for navmesh cut objects. More...
 
class  TriangleMeshNode
 Node represented by a triangle. More...
 
class  UnityReferenceHelper
 Helper class to keep track of references to GameObjects. More...
 
class  XPath
 Extended Path. More...
 

Enumerations

enum  ColliderType { Sphere, Capsule, Ray }
 Determines collision check shape. More...
 
enum  HeuristicOptimizationMode { None, Random, RandomSpreadOut, Custom }
 
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  NumNeighbours { Four, Eight, Six }
 Number of neighbours for a single grid node. More...
 
enum  RayDirection { Up, Down, Both }
 Determines collision check ray direction. More...
 

Functions

delegate void GraphNodeDelegate (GraphNode node)
 
delegate bool GraphNodeDelegateCancelable (GraphNode node)
 

Enumeration Type Documentation

Determines collision check shape.

Enumerator:
Sphere 

Uses a Sphere, Physics.CheckSphere.

Capsule 

Uses a Capsule, Physics.CheckCapsule.

Ray 

Uses a Ray, Physics.Linecast.

Enumerator:
None 
Random 
RandomSpreadOut 
Custom 

Defines inputs and outputs for a modifier.

Enumerator:
All 

All bits set to 1.

StrictNodePath 

Node array with original length.

NodePath 

Node array.

StrictVectorPath 

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

Think of it as: the node positions have changed

VectorPath 

Vector path.

Original 

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

None 

Zero (no bits true)

Nodes 

Combine of NodePath and StrictNodePath.

Vector 

Combine of VectorPath and StrictVectorPath.

Number of neighbours for a single grid node.

Since
The 'Six' item was added in 3.6.1
Enumerator:
Four 
Eight 
Six 

Determines collision check ray direction.

Enumerator:
Up 

Casts the ray from the bottom upwards.

Down 

Casts the ray from the top downwards.

Both 

Casts two rays in both directions.

Function Documentation

delegate void Pathfinding.GraphNodeDelegate ( GraphNode  node)
delegate bool Pathfinding.GraphNodeDelegateCancelable ( GraphNode  node)