Prowl.Recast
3.1.0
dotnet add package Prowl.Recast --version 3.1.0
NuGet\Install-Package Prowl.Recast -Version 3.1.0
<PackageReference Include="Prowl.Recast" Version="3.1.0" />
<PackageVersion Include="Prowl.Recast" Version="3.1.0" />
<PackageReference Include="Prowl.Recast" />
paket add Prowl.Recast --version 3.1.0
#r "nuget: Prowl.Recast, 3.1.0"
#:package Prowl.Recast@3.1.0
#addin nuget:?package=Prowl.Recast&version=3.1.0
#tool nuget:?package=Prowl.Recast&version=3.1.0
Prowl.Recast
This is DotRecast by ikpil, vendored into Anthology. The upstream README follows unchanged below, so credit and documentation stay with the original. What differs here:
- The eight upstream projects (
DotRecast.Core,.Recast,.Detour,.Detour.Crowd,.Detour.Dynamic,.Detour.Extras,.Detour.TileCache,.Recast.Toolset) are built as one assembly and ship as a singleProwl.Recastpackage.- Namespaces are
Prowl.Recast.*instead ofDotRecast.*. Type names (Rc*,Dt*) are untouched.- Tests use xunit rather than NUnit, and live in
Tests/alongside theirresources/.- The Silk.NET demo app and the
tool/projects are not vendored.- The Unity A* Pathfinding Project importer (
DotRecast.Detour.Extras.Unity.Astar) is not vendored either. Prowl has no use for reading another engine's navmesh format, and dropping it removes the package's only third-party dependency, Newtonsoft.Json.Licensed MIT, see LICENSE.txt.
DotRecast is C# Recast & Detour, a port of recastnavigation and recast4j to the C# language.
If you'd like to support the project, we'd appreciate starring(⭐) our repos on Github for more visibility.
🚀 Features
- 🤖 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.Core : Core utils
- 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.Detour.Dynamic : robust support for dynamic nav meshes combining pre-built voxels with dynamic objects which can be freely added and removed
- DotRecast.Detour.Extras : simple tool to import navmeshes created with A* Pathfinding Project
- DotRecast.Recast.Toolset : all modules
- DotRecast.Recast.Demo : Standalone, comprehensive demo app showcasing all aspects of Recast & Detour's functionality
- Tests : Unit tests
⚡ Getting Started
- To build or integrate into your own project, please check out BuildingAndIntegrating.md
- To create a NavMesh, please check out RecastSoloMeshTest.cs
- To test pathfinding, please check out FindPathTest.cs
- To watch the demo play video, please check out Demo Video
⚙ How it Works
Recast constructs a navmesh through a multi-step mesh rasterization process.
- First Recast rasterizes the input triangle meshes into voxels.
- Voxels in areas where agents would not be able to move are filtered and removed.
- The walkable areas described by the voxel grid are then divided into sets of polygonal regions.
- The navigation polygons are generated by re-triangulating the generated polygonal regions into a navmesh.
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.
📚 Documentation & Links
DotRecast Links
Official Links
🅾 License
DotRecast is licensed under ZLib license, see LICENSE.txt for more information.
📹 Demo Video
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
