A* Pathfinding Project

Welcome to the A* Pathfinding Project Documentation page. Here you will find the documentation for the system. You can browse through every class and variable, though not everything is documented yet, I hope you will still be able to find what you are looking for.

If you cannot find what you are looking for here, check out the forum. Often there is already an existing thread about the issue that you are trying to solve.

Get Started

Check out the get started page for instructions on how to get started using the system.

Accessing the documentation from the Unity Editor

You can easily access the documentation from inside the Unity Editor. If you find a class which is confusing, simply click on the small '?' icon in the upper right corner of the inspector. This will open the online documentation for that class. Or if you are interested in a particular field, simply right click on that field and click the 'Show in online documentation' button that will show up. This is implemented for most components and properties, but not all of them so far. In particular it is not yet implemened for the AstarPath component and graph inspectors.

Upgrading from an earlier version?

Look here for more info on how to upgrade.

Buy Pro

The A* Pathfinding Project has a Free version and a Pro version, the Pro version has a lot of cool extra features such as multithreading, automatic navmesh generation and more. Check out the Free vs Pro comparison page.
You can buy the Pro version here


  • Getting errors in MonoDevelop where the functions contains default parameter values?
    Select: Tools > Preferences > Unity > Debugger and turn off "Build project in MonoDevelop".

  • Getting errors where some classes in the A* Pathfinding Project do not seem to have some members they ought to have. Check for if any of the classes in your project have a name identical to one in the A* Pathfinding Project and if so, change the name of them or put them in a namespace. It will cause trouble if they are in the global namespace. I try to put my classes in namespaces, but unfortunately it will still cause troubles if ANY of the conflicting classes is in the global namespace.

  • Check the Error messages page.