Behavior Tree + Dynamic NavMesh slow down performance


I have an AI with BT and navigation invoker, huge open world (NavMesh ‘Runtime Generation’: ‘Dynamic’).
AI is very primitive: move to near random location, wait 5 sec, repeat.

When AI is moving - FPS falls down from 80 to 20, but when stays and waits - raises to 80.
Also, when I switch ‘Runtime Generation’ to ‘Static’ - FPS is stable at 80.

Could you tell me, please, what is wrong and how best to implement AI navigation in a huge world (4x4km, and even more).

Well, I think it was cause I set show navigation mesh (P button) during play in editor :))

I have this very problem! But for me, pressing P doesn’t affect anything.
My fps was teetering at around 29-35 fps if using BP logic to run my NPC’s (and that’s with traffic turned off and trees etc not loaded in), and drops down to 7fps when using Behavior Tree. This is killing me!
Did you learn anything else that I could try please, thanks.

1 Like

Maybe something here will help: Optimizing Navigation Mesh Generation Speed in Unreal Engine | Unreal Engine 5.0 Documentation
Also try to build (or run in standalone mode) and check performance there.

1 Like