All these are good points, but as you can see from the screenshot, in this case it’s clear that the majority of the frame time is on the character movement
OP even said that the BTs are simple Move To tasks, and even tried with the meshes hidden, which only ticks montages by default
From my tests:
-
Character movement component
-
Floating pawn movement component
It’s also very easy to test, when you stop moving and the AI doesn’t have to move, FPS goes back to over 120
I’m not sure why the character movement takes this much time, which apparently happens when updating overlaps, and this test was done with NavmeshWalking instead of Walking even. When testing with a floating pawn movement component, my AIs can still trigger overlaps just fine when walking, so I don’t really know what the difference is