I am replying to this old post because it’s one of the first replies that come up in Google, and it seems nobody else has posted how to do this. I explained how to get runtime variables in state trees step by step here
The tl;dr is that if you bind to a variable you’re reading from it. In order to write to a global variable that other tasks and evaluators can read, you need to make the variable you want inside a task/evaluator and set it to the Output category. Then you will be able to change it (but only from that specific object), and other tasks will be able to read it.