Memory Optimizations
We drastically reduced navmesh memory usage by packing & compressing the cached navmesh data. This means much larger scenes can now generate successfully.
For example, a very large map (~4km x 4km) now generates fine, before it would just run out of memory and crash.
Polymesh Generation Optimizations
Navmesh generation has two steps: heightfield generation, then polymesh generation.
We optimized the second step, polymesh generation, which directly translates into faster navmesh loads from baked data.
Fixes
- Fixed a race condition that would cause an infinite stall when loading navmesh in the editor
- Fixed CalculatePath giving up early on complex paths