Hey SebGallop,
Thanks for asking the question here previously, I am currently trying to research how to use dynamic BT’s and your post has helped already.
As for anyone still reading this, you can actually change the dynamic behavior tree from outside of the AIController. You will simply need to find and reference this AIController and get its braincomponent. (In BeginPlay I did a ‘Get all actors of class’, keep in mind this is just quick prototyping, you should change this for an actual game).
These screenshots are taken from my player bp. I can switch between two trees using the 1 and 2 key. Some things to keep in mind. Make sure the tag you use to call your subtree is the same as your inject tag. Also, so far, it seems to me that all behaviour trees will also need the same Blackboard. I will have to experiment with this though.
Hope this clarified it a little further