Similar to StateTree, Behavior Tree nodes can get big performance boosts from C++. This depends on how often the nodes execute, so you should do Profiling to confirm.

Output from Unreal Insights will usually display the specific BT node which is consuming time. It will also display “BT Search Time” - this is time consumed on choosing a node to execute.

Search can in some cases be optimized by using nodes that don’t finish immediately. For example, if an NPC is not doing anything and the tree is restarting, adding a Wait node which prevents the BT search from activating can give a large performance improvement.