Can I create volumes on the fly programattically?

Would I be able to spawn multiple such shapes for the different rooms and have it act as one giant volume?

At the moment, I have a giant empty level with a giant nav volume. I have working nav mesh creation, but it ends up creating navmesh geometry on outsides of the level too. Like if I have a room with static meshes making up the roof, I have nav mesh geometry up top in the roof itself. Ideally I’d want it to be only on the floors.

I’m not sure how this works internally but it seems like I’m making the engine do a lot of pointless extra work, and it would really help clean it up if I can let it generate better nav mesh data with better volumes that only encompass the walkable areas.