Best practice for adding dynamic objects to exisiting NavMesh


I was wondering if it is possible to use a NavMesh Graph (not recast graph) and still either use GraphUpdateObject to modify tags, or use NavMesh cutting of some sort. My current attempts don’t appear to change the paths of my AI based on GUOs.

I can get the dynamic behaviour I am looking for using a Recast Graph, but since I already have a statically generated nav mesh for my level I would prefer use that for performance reasons.

Basically, I just want my AI to avoid things the player might put in it’s way (ie a chair or crate). The level itself isn’t going to change in any major way. What is the best way to go about this?



In the future I want to merge the recast graph and the navmesh graph to a single unified graph type that has support for both.
However there are workarounds, this should probably work (I have not tested it though).

handler = new TileHandler(; TileHandler.TileType tp = handler.RegisterTileType ( thenavmesh, new Int3(0,0,0) ); handler.LoadTile ( tp, 0, 0, 0, 0);

You might need to adjust the recast graph bounds so that it actually covers the whole mesh, otherwise the navmesh cuts might not update it.