Dynamic Navigation Obstacle doesn't seem to work anymore

So I had my blueprints project in 4.18 up until a couple days ago, and my AI seemed to work as expected. They’d get a random moveTo location, ignore areas leading to dynamic obstacles (openable doors), or at least seem to fail out in their pathing after awhile and move onto something else. Now after converting to 4.20 and migrating to a clean project they’re back to crowding closed doors, the moveTo obviously not failing and my AI looks dumb as a doorknob again.

The door static meshes are all marked as dynamic obstacles and obstacle areas, they each have navigation colliders, my navmesh is set to dynamic, none of this seems to make any difference. I noticed that previously the dynamic obstacles actually cut holes in the navmesh generation in blocked areas, whereas now it’s just marked in red, AND after further checking, it IS cutting holes in the navmesh, it’s just doing so to the left of the blueprint containing the meshes (i.e. empty space at the blueprint origin) instead of where the meshes actually are… that stuff’s still just red… mmyep

So, what am I doing wrong?

Is there something that Rebuilds the navmesh like how you can rebuild lighting?

It’s set to rebuild dynamically, so it should rebuild when anything changes. I even have it set to force rebuild on load. I don’t think the issue is with rebuilding so much as how dynamic obstacles are handled now- I may be way off base, but it would seem that instead of cutting away geometry from the navmesh, dynamic obstacles now add a modifier of sorts- this would save on build time because instead of rebuilding the mesh when a dynamic obstacle moves, it just alters/moves the modifier- which would make sense if it worked, but it doesn’t seem to be doing that in my case.

Before I knew about dynamic obstacles I used jump nodes to have the ai path beyond closed doors, but they’d just crowd em like they’re doing now. That’s why I switched in the first place. It stopped that behavior. Now I don’t know what I’m supposed to do.

Like I said, I’m guessing there’s something I’m doing/not doing wrong, but I just don’t know what it is.

I finally was able to hack together something that ‘sort of’ works, though I’m not marking this as solved as it is (as I mentioned) a hack. I went through and marked the nav area for each door static mesh as NavAreaNull (or whatever it is) and that caused the navmesh to be split at the doorways until they open at which time the navmesh is rebuilt, thus resulting in (mostly) the desired behavior from my AI, i.e. no more lazily hanging out at doorways waiting for the player to curb stop em while their backs are turned. I’d still like a better solution though since I would assume the dynamicObstacle area setting is supposed to result in the same…er, result, only more efficiently.

I think the reason it doesn’t fully work for you is because this method doesn’t completely block the path finds. It merely adds a big weight against it. I think if you were to limit the path cost then you would get a partial path find back and you could use that to determine if the destination was unreachable