The behaviac is a behavior framework with a GUI designer and a runtime part. The designer is used to design and debug the behaviors, and the runtime is c# scripts in the game to execute the generated behavior.
behaviac supports behavior tree, fsm(finite state machine), and htn(hierarchical task network).
All code(designer and runtime) are open source.
please visit:
http://www.behaviac.com/docs/en/articles/overview/
or
https://github.com/Tencent/behaviac
for source code, documents, tutorials, APIs, Q&A, etc.