Behavior Tree to StateTree Converter turns a Behavior Tree and its Blackboard into a StateTree that runs on the same Blackboard, so your perception code and anything else that writes Blackboard keys keeps feeding the converted tree. The original Behavior Tree is never modified.
Selectors, sequences, Simple Parallel, Blackboard decorators with observer aborts, cooldowns, loops, time limits, Move To, Wait, Rotate To Face, EQS queries and services, Default Focus, Set Key Value and Run Behavior subtrees all convert to StateTree states, conditions and tasks. Cooldowns are timed per AI controller.
Anything it cannot translate, such as Blueprint tasks, decorators and services, is listed on a conversion sheet and fails closed in the generated tree: an unconverted task fails and an unconverted decorator blocks its branch. Nothing is guessed, so the new tree never quietly does something the original didn’t.
It runs from the console with a preview mode that saves nothing, or as a commandlet in CI, where a FailOnUnconverted switch exits with an error while any node is still left to rebuild by hand. An Inspect switch loads the saved StateTrees in a fresh process and compiles them.
It needs Unreal Engine 5.8 on Windows with the StateTree and GameplayStateTree plugins. The code was written with AI tools. It costs 19.99 USD on itch: