RecursiveAI.OnePath 0.4.0-preview.3

This is a prerelease version of RecursiveAI.OnePath.
There is a newer version of this package available.
See the version list below for details.
dotnet add package RecursiveAI.OnePath --version 0.4.0-preview.3
                    
NuGet\Install-Package RecursiveAI.OnePath -Version 0.4.0-preview.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RecursiveAI.OnePath" Version="0.4.0-preview.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RecursiveAI.OnePath" Version="0.4.0-preview.3" />
                    
Directory.Packages.props
<PackageReference Include="RecursiveAI.OnePath" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add RecursiveAI.OnePath --version 0.4.0-preview.3
                    
#r "nuget: RecursiveAI.OnePath, 0.4.0-preview.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package RecursiveAI.OnePath@0.4.0-preview.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=RecursiveAI.OnePath&version=0.4.0-preview.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=RecursiveAI.OnePath&version=0.4.0-preview.3&prerelease
                    
Install as a Cake Tool

RecursiveAI.OnePath

Pathfinding and navigation for .NET, written from first principles: grids, graphs, navigation meshes and crowds in one package. Results are bit-identical on every platform, so it is safe inside a lockstep or rollback game simulation.

Preview. The API can still change between previews.

  • Grids and graphs: square (4- and 8-connected), hex and 3D voxel grids; A*, JPS, JPS+, Theta*, Lazy Theta*, HPA*, LPA* and D* Lite replanning, flow fields, area costs, agent sizes; weighted and point graphs with bidirectional search and ALT landmarks.
  • Navigation meshes: an exact 2D builder (outlines, tile maps) and a Recast-class 3D builder (triangle soup, glTF, voxel chunks) into one tiled format, with path, string-pulling, raycast, nearest-point and random-point queries, run-time tile rebuild and obstacles, off-mesh links, several agent sizes and streaming.
  • Crowds: path corridors and navmesh-aware ORCA avoidance, fixed-step, with byte-exact snapshot and restore.
  • Determinism: only IEEE-exact + - * / and sqrt, our own transcendental functions (RecursiveAI.OneMath, the only dependency), fixed reduction orders and index-ordered parallel work. Time slicing counts iterations, never clock time.
  • Platforms: net10.0 on Windows, Linux and macOS (x64 and arm64), NativeAOT and trimming (an app that only uses grids trims the navmesh builders away), browser WASM.
using RecursiveAI.OneMath;
using RecursiveAI.OnePath;

var grid = Grid.FromText("""
    ........
    .#####..
    .#...#..
    .#.#.#..
    ...#....
    """);
GridPath path = grid.FindPath(new Cell(0, 0), new Cell(4, 3));

NavMesh level = NavMesh.Build(triangles, NavSettings.Humanoid);
PathResult route = level.FindPath(new Vector3D(3, 0, 3), new Vector3D(36, 0, 36));

Crowd crowd = level.CreateCrowd();
Agent walker = crowd.Add(new Vector3D(3, 0, 3), Agent.Humanoid);
walker.SetDestination(new Vector3D(36, 0, 36));
crowd.Step(0.05);   // fixed time step; the crowd has no clock of its own

More examples, build instructions and the speed table against the native references: https://github.com/recursive-ai-oss/onepath-csharp/blob/main/README.md. Release notes: https://github.com/recursive-ai-oss/onepath-csharp/blob/main/CHANGELOG.md. Third-party notices: https://github.com/recursive-ai-oss/onepath-csharp/blob/main/THIRD-PARTY-NOTICES.md.

Licensed under either of MIT or Apache-2.0 at your option. © Recursive AI, LLC.

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on RecursiveAI.OnePath:

Package Downloads
RecursiveAI.OneGame.Navigation

Pathfinding for deterministic simulations: grid searches on fixed-point positions, budgeted over several ticks, and crowds with avoidance, with state that is saved, restored and hashed with the world.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 48 10/29/2026
1.0.0 195 10/29/2026
1.0.0-rc.1 67 10/28/2026
0.5.0-preview.1 100 10/28/2026
0.4.0-preview.3 74 10/28/2026
0.4.0-preview.2 68 10/28/2026
0.4.0-preview.1 167 10/28/2026

See CHANGELOG.md in the repository.