Behavior trees for AI: How they work
gamasutra.com
gamasutra.com
Or you used FSM for less than you usually would. Like pure state based use-cases instead of shoe-horning it. Which I did, heh.
If you're using a language that has either lightweight threads or async/await built in, would you still use a behavior tree, or would you just write code?
Essentially you're going to need a wrapper to create a tree from either a DSL or e.g JSON from a GUI.