For clarity the Director is literally a clean blank Actor BP with a StateTree component I named “Director”. This gets placed into my level and ticks along during gameplay.
To track story state, I create variables in this Director that are available for use in the state tree and tasks once I set it up as the Context Actor
Some Links:
If you go this route, pay close attention to ‘transitions’ as this is where most of missteps occur. Also I got hung up on when/where to use EndTask when building custom tasks so keep an eye out for that. Other than that works really well for story driven stuff and is very easy to track what is going on using the debugger.