Using Behavior Trees for more than AI

So there’s a code based blueprint dialogue plugin by artemavrin ( that uses behavior trees as a “visual designer” for the layout of dialogue trees and it got me wondering if this is only possible by extending functionality through C++ or if you could potentially use Behavior Trees in other ways with vanilla UE4? It seems like this would be a much better alternative to Data Tables for a lot of uses.

Like is it possible to store information in a BT and then pass this info into your blueprint?

Yes you can create tasks and other node types in blueprints. And from that task you can do basically anything. Only one problem is a bit awkward way of running behavior tree from blueprint without AI controller. But i remember some old posts about it, so use search function in forum.

Well you can always use a custom ai controller then. That what he did in this dialogue plugin. I just wasn’t sure if it was because of the custom C++ code he wrote. So how do you actually communicate between BTs and BPs? I guess just through the AI controller and BT keys? I’d love to see someone more experienced do a tutorial on a unique way we could use them. Seems a shame to not be taking full advantage of their potential.


it’s possible to create custom node types as well; with this I mean not custom tasks but the actual UI nodes placed in the editor. I did this for my own dialogue and quest system a while ago and then parsed the tree to usable data. Its base properties consist of its parents and children. If you add UProperties to said UI nodes, you may also edit those inside the editor. Note, however, that the UI nodes can only be compiled for the editor build version: all tree data must be extracted by you before packaging.