Download

Is it possible to enable Nav Modifiers on dynamically spawned blueprint actors?

I have a blueprint which has a Box collision component and a Nav Modifier component. The Nav Modifier area class has been set to NavArea_Obstacle. When I add an actor of this blueprint into the level from the editor, it works fine and the AI bots avoid moving through this actor unless the alternatives are too long.

But when this actor is spawned in at runtime using blueprints, the AI completely ignores it. I’ve confirmed it’s placement by turning on the collision visibility and navigation display, and it clearly has no effect on the nav mesh unlike the one that’s placed in the editor manually. Enabling runtime nav mesh generation doesn’t seem to have any effect either. So is there something that I’m missing here? Or does the engine have no support for adding Nav Modifiers using blueprint at runtime?

Is your nav mesh set to dynamically generate at runtime? Check in your project settings and if not, change that setting and it should take effect.

Thanks Hyperloop, but it was already set to Dynamic in both the nav mesh recast as well as the Project Settings. However I wasn’t aware of the ‘Dynamic Obstacle’ option under the collision box. Turning that on resolved the issue. :smiley:

6b40740ddc44634e0de6b0fd5e131e9ef2b7c7e7.png