DotRecast is a port of C++'s [recastnavigation](https://github.com/recastnavigation/recastnavigation) and Java's [recast4j](https://github.com/ppiastucki/recast4j) to the C# language.
- 🤖 Automatic - Recast can generate a navmesh from any level geometry you throw at it
- 🏎️ Fast - swift turnaround times for level designers
- 🧘 Flexible - detailed customization options and modular design let you tailor functionality to your specific needs
- 🚫 Dependency-Free - building Recast & Detour only requires a .NET compiler
- 💪 Industry Standard - Recast powers AI navigation features in Unity, Unreal, Godot, O3DE and countless AAA and indie games and engines
Recast Navigation is divided into multiple modules, each contained in its own folder:
-`DotRecast.Recast`: Navmesh generation
-`DotRecast.Detour`: Runtime loading of navmesh data, pathfinding, navmesh queries
-`DotRecast.Detour.TileCache`: Navmesh streaming. Useful for large levels and open-world games
-`DotRecast.Detour.Crowd`: Agent movement, collision avoidance, and crowd simulation
-`DotRecast.Recast.Dynamic`: robust support for dynamic nav meshes combining pre-built voxels with dynamic objects which can be freely added and removed
-`DotRecast.Recast.Extras`: simple tool to import navmeshes created with [A* Pathfinding Project](https://arongranberg.com/astar/)
-`DotRecast.Recast.Toolset`: sdk
-`DotRecast.Recast.Demo`: Standalone, comprehensive demo app showcasing all aspects of Recast & Detour's functionality
You can use Recast to build a single navmesh, or a tiled navmesh.
Single meshes are suitable for many simple, static cases and are easy to work with.
Tiled navmeshes are more complex to work with but better support larger, more dynamic environments. Tiled meshes enable advance Detour features like re-baking, heirarchical path-planning, and navmesh data-streaming.
1.`DotRecast.Recast.Demo` uses [dotnet 8](https://dotnet.microsoft.com/) to build platform specific projects. Download it and make sure it's available on your path, or specify the path to it.