We’ve rewritten our navmesh generation in C#. There’s no immediate visual change, but it fixes crashes, plugs a major memory leak, and sets the stage for future navigation features.
Until now we used the Recast library and in our rewrite we still follow the same underlying algorithmic approach. However, almost all of the original Recast code was stripped, and retailored to our needs.
Recast served us well, but it’s effectively a dead library, and the old half‑native / half‑managed setup had become fragile: messy ownership, large unmanaged buffers crossing boundaries, awkward threading, and painful maintenance.
This also fits our broader push to reduce legacy dependencies, we don’t want core systems hinging on unmaintained decade‑old C++ code. Now it’s cleaner, safer, and fully ours to evolve.