Better, more deterministic support for chunked nav graphs

I’d just gotten into learning the pathfinder a few days ago and while the pathfinder itself is excellent, I hope to see better support for working with nav mesh chunks during runtime, specifically for stitching together multiple nav meshes.

I have numerous prefabs, each with its own nav mesh which must be deserialized and stitched together at runtime. Each of these prefabs can be instantiated more than once in the scene at different locations… All of my recast graphs are deserialized, and then relocated using RelocateNodes, and then stitched into a master recast graph with ReplaceTile.

The main issue with deserializing currently is that there is no way to tell what I have actually deserialized. I can only assume that whatever I deserialized is at the end of the graphs list based on stepping through source code, which makes me uneasy since this behavior is not guaranteed across versions.

Another issue is that it does not seem that the graphs array is ever pruned of ending nulls, so if I loaded a hundred chunks, I’d end up having an array which has one valid recast graph at index 0, followed by 100 nulls. And so it is necessary to manually prune the list but again this is treading into the internals and is undesirable.

Tbh it would be great to see the ability to just automatically connect recast graphs together, this instantly would make chunking a breeze.

2 Likes