Getting reference to event dispatcher that lives inside a Decision Tree Task

Not sure if that can be done. Also biggest reason to have AI, behavior trees and blackboards is performance when you get 100+ characters like that.
So it may be impossible, or rather (quite common in unreal) you are fighting against design of engine.

At some point I gave up on fighting all those references up and down (like AI, umg, animation trees etc.)
And for every group of blueprints\actors i made single messaging system.
Quite simple:

  • there is dispatcher in easily referenced blueprint like game mode,
  • and there is event that fires that dispatcher also in game mode
  • every actor that want to send message calls that event in game mode
  • everybody that needs such info hooks into dispatcher

Dispatcher and event are simple, they pass over only 2 values:

  • who called it
  • and what is message.
    ofc. i Format messages so they are easily readable by other scripts, for that i create enumerators, but when they passed over i change them to string and back to enum.
    Easier to avoid silly spelling errors.

Unreal really needs some global messaging system