Where should AIControllers be handled?

I’m currently playing around with AI and I’d like advice on where I should put the AIController, C++ or blueprints? Currently I have them in C++, using similar code to the ShooterGame tutorial. I don’t know how the AIController connects to the Behavior Tree and I’m unsure exactly why the controller is necessary, since the Behavior Tree has to be set manually in the editor.