---
title: "onepath docs"
url: https://recursiveai.org/onepath/docs/
description: "Everything about OnePath: getting started, grids and graphs, building and querying navigation meshes, crowds, saved state, moving from Recast, Detour or…"
version: "1.1.0"
---

# onepath docs

Everything about OnePath: getting started, grids and graphs, building and querying navigation meshes, crowds, saved state, moving from Recast, Detour or Unity, and how it is checked.

## Start

- [Getting started](https://recursiveai.org/onepath/docs/getting-started/index.md): Install OnePath for .NET 10, find a path on a grid, build a navigation mesh from level geometry and query it, and walk an agent across it in a crowd, with…
- [Overview](https://recursiveai.org/onepath/docs/overview/index.md): 
- [From Recast, Detour or Unity](https://recursiveai.org/onepath/docs/migrating/index.md): For code that uses Recast and Detour (C++), DotRecast (C#) or Unity's built-in navigation. It maps concepts and types, and calls out the places where a…
- [Path results](https://recursiveai.org/onepath/docs/path-results/index.md): Every one-call path query reports through the same vocabulary, whatever the world is made of.

## Grids and graphs

- [Grids](https://recursiveai.org/onepath/docs/grids/index.md): Normative. A port must reproduce the same expansion order, costs and paths from this text. Code lives in src/OnePath/Grids/. The tier-1 types (Grid…
- [Graphs](https://recursiveai.org/onepath/docs/graphs/index.md): The tier-1 types (Graph, PointGraph, GraphOptions, GraphPath, Landmarks, LandmarkOptions, GraphEdge, Point3) live in the root namespace…
- [Saved search state](https://recursiveai.org/onepath/docs/grids-state/index.md): A host that rolls back (lockstep with prediction, rollback netcode, replays) needs to put the mutable pathfinding state back exactly and get the results…

## Navigation meshes

- [Navmesh queries](https://recursiveai.org/onepath/docs/navmesh-queries/index.md): Normative behaviour of NavMeshQuery (namespace RecursiveAI.OnePath.Mesh.Queries) over a TiledNavMesh (docs/navmesh-format.md). Everything here is…
- [Navmesh format](https://recursiveai.org/onepath/docs/navmesh-format/index.md): Status: frozen at version 2. Header flag bit 0 (the draft marker) is always 0. The reader accepts version 2 only: version 1 (the draft layout) and every…
- [Navmesh snapshots](https://recursiveai.org/onepath/docs/navmesh-snapshot/index.md): Status: follows the frozen mesh format, version 2 (navmesh-format.md); the snapshot header carries the same version as the mesh format. Its parameter…

## Building meshes

- [2D builder](https://recursiveai.org/onepath/docs/build2d-tiles/index.md): Normative description of TileSlicer, Mesh2DPipeline and NavMesh.Build2D: a walkable Region (see build2d-geometry.md) becomes a stitched TiledNavMesh (see…
- [2D builder geometry](https://recursiveai.org/onepath/docs/build2d-geometry/index.md): Normative description of RecursiveAI.OnePath.Mesh.Build2D: outlines and tile maps → regions → boolean operations and offsetting → constrained Delaunay…
- [3D builder: spans](https://recursiveai.org/onepath/docs/build3d-spans/index.md): Normative. This describes what RecursiveAI.OnePath.Mesh.Build3D computes up to the compact open-span heightfield, which is the hand-off to the region…
- [3D builder: regions](https://recursiveai.org/onepath/docs/build3d-regions/index.md): Normative. Continues build3d-spans.md: what RecursiveAI.OnePath.Mesh.Build3D computes from the compact heightfield up to contours, which are the hand-off…
- [3D builder: polygons](https://recursiveai.org/onepath/docs/build3d-polys/index.md): Normative text for the last stages of the voxel pipeline and for NavMesh.Build. Earlier stages: build3d-spans.md (voxelization, filters, compaction…
- [glTF input](https://recursiveai.org/onepath/docs/build3d-gltf/index.md): GltfReader.Read(bytes) turns a glTF 2.0 file into world-space triangles for the 3D builder (NavMesh.BuildGltf). The same file gives the same triangles on…
- [Tile cache and obstacles](https://recursiveai.org/onepath/docs/build3d-runtime/index.md): Status: follows the frozen mesh format (navmesh-format.md). Written so a port reproduces the same tiles bit for bit.

## Crowds

- [Corridors and following](https://recursiveai.org/onepath/docs/crowds/index.md): Normative behaviour of PathCorridor, CorridorReplan, PathFollower and FollowerOptions (namespace RecursiveAI.OnePath.Crowds.Corridors) over a TiledNavMesh…
- [ORCA solver](https://recursiveai.org/onepath/docs/orca/index.md): Normative description of RecursiveAI.OnePath.Crowds.Orca. A port that follows this text reproduces the same bits. Source: van den Berg, Guy, Lin and…

## How it is checked

- [Hash matrix](https://recursiveai.org/onepath/docs/hash-matrix/index.md): Results must be bit-identical on every platform, runtime mode and thread count. The hash matrix checks that: a runner executes registered scenarios…
- [Benchmarking](https://recursiveai.org/onepath/docs/benchmarking/index.md): The bar compares our code with a reference on the same machine, in the same session, on the same inputs and settings. This page is normative: a later port…

## Reference

- [Docs map](https://recursiveai.org/onepath/docs/docs-map/index.md): The documents here are normative: where a paper leaves a choice open (tie-breaks, open-list order, rounding, byte layouts, budget units, preset values)…
- [Changelog](https://recursiveai.org/onepath/docs/changelog/index.md): All notable changes are listed here. The format follows Keep a Changelog and the project follows Semantic Versioning.

## Cookbook

- [All recipes](https://recursiveai.org/onepath/cookbook/index.md): 5 short, task-first recipes with complete code.
