Behaviour sub-tree not using correct blackboard

When using the ‘run behaviour tree’ task, the specified blackboard for that tree is not used, so it doesn’t work.

If I set it myself using AAIController::UseBlackboard, it works, however the values of any parent keys are lost.

I have looked into caching the values of the parent, setting the correct blackboard then restoring those values, however there doesn’t seem like a nice way to do it as far as I can tell.

I did get a basic version working that works for objects only, and could theoretically extend that to each of the 10 blackboard key types, however seems like a pretty disgusting way to achieve this: BlackboardTransferTest - Pastebin.com

Any help would be appreciated.