Thanks for the reply. I agree that keeping things in the BB that only it needs is fine and I do that already. It’s the stuff I need in multiple places. The BT needs to know, the pawn needs to know, the UI needs to know.
For example, say your agents had some sort of health stat. The BT needs to know what that is to make decisions, the pawn needs to know what it is for some logic and the UI needs to know what it is to display it. So where do you store it? On the pawn? But then the BT has to poll the pawn blueprint with a service. On the BB, but then the blueprint has to do a convoluted get from the BB every time and you lose the ability to just inspect the value on the blueprint in debug… and you have to store the key names in the blueprint anyway to look these values up. Duplicate the variable in both places, but then you have to keep it in sync?