A* pathfinding implementation implemented and optimized for tile-based games. It could be easily expanded in the future to perform well for 3D environments, but Unity already has a navigation mesh implemented to do so, so I haven't bothered.
This A* implementation is also useful for other tile-based games that do not use Unity; I have used it in several of my other projects.
Possible improvements:
- Add interfaces to make implementation simpler (DONE!)