Can a navmesh be manually updated in blueprint?

I have a system in which AI will chase you through a maze, and locking a door behind you should their path-finding. The problem with dynamic path-finding is that the AI will change course before it would reasonably know that a door has been locked. Any solution to this?

To answer your question. You can change Navmesh on runtime. You have to set it as such in Project Settings, Engine, Navigation Mesh, Runtime and then Runtime Generation. Pick what you need. Which is what your question was. But you asked something a bit different in your description.

So. If you wanted to keep it from turning back, I would make sure that there was no blocking collision on there when the door closes/locks. And when the AI is within a certain distance (via another collision volume), that it would trigger a change in collision settings and bam, now it knows the door is locked and it will turn around accordingly.

http://puu.sh/oBKQe/265ff3888a.png

Ah, smart! Didn’t think of that.

Hehe;) I am pretty boss when it comes to Systems Design.

Make sure to mark it as answered, so it can be displayed as resolved.

so I was just thinking about this, and I realized that when I have 2 AIs chasing you around the map and the navmesh updates, one of the AIs will still realize the door is locked without ever visually confirming it which is also undesirable. Have any other clever workarounds you can think of for this?

Either have an event dispatcher happen when you switch collisions, so that it resets it’s pathing (this depends on a lot of variables, if you’re using Behavior Trees or just Blueprint Logic), but if BT, then you need it to start from the top again, if BP logic, have it start over the search chain.