I’m using dynamic invokers and when I need my AI’s to get to a point outside their small generated nav mesh radius, I use EQS to get them to walk to the edge of their navmesh and towards the point, which then generates a new mesh closer and I repeat that until the AI has reached its point.
However, in cases like you mention, where something large blocks the route and the AI thinks it’s as close to the object as it can, I generally use “temporary” target points around my map.
It’s probably not the smartest or most efficient way, but the way I do it is I have volumes covering my areas and a target point somewhere between them.
I apologize for this terrible drawing
but basically, imagine the black box is a wall, the orange person is an AI, the green circle is the generated nav mesh, the blue circle is the destination point, the red circle is my temporary point and the light blue rectangles are 2 different volume boxes.
So in this case, the AI would want to go to the blue dot, however since it’s in the lower volume box, it’ll know it should go towards my red point first, and then it can continue its way to the blue dot.
Again, it’s probably a dumb way but it works. It’ll require some manually placed target points and volumes as well as some extra logic where the AI will seek the “exit points” in their current area. It also kind of forces you to design your level in a way where this is possible. Something like this would make it a bit more work and/or even require more temporary target points, or even checking the nearest one through some trace or whatever.
I hope someone mentions a easier, cleaner, and smarter way since I’m terrible at this stuff.
Then again… I might be completely misunderstanding your post and in that case, just ignore me I’m a bit tired.