Hi there, I’ve looking around communications through BP. I’ve figure out how to call a event by event distpacher in the Level BP (for example to run a matinee, play sound, mix tasks …), the inconvenience is I have some actors than has been destroyed and then respawned during runtime, for example after take in the inventory or place in a child BP to combine, so then the binded event distpacher doesn’t work for different name o reference at spawn time, how could be solve that problem? There a way to change the event distpacher at runtime? Or better idea …
I’ve managed to solve all my communication issues without event dispatchers, seeing as I can’t understand how to uee them.
If I am spawning actors I will have my own manager somewhere. The player controller or gamestate would be sufficient. When I spawn a new actor/pawn I will add it to an array in this manager. When I need to call a function on all of them I will do a ForEach loop through it and call the functions. Obviously it also means manually removing destroyed actors from the array etc. It works for me at least.
You can also do a Get All Actors of Class (or With Interface) and use that array for the same purpose but is has a warning that it is slow…
Do it from player controller instead. It is easier to get reference to player controller than level bp.
Each blueprint in level should cast to player controller at begin play, and bind to dispatcher there (in player controller)
When that blueprint is destroyed, call unbind from it to free space on dispatcher list.
Dispatchers are good only for communication from single blueprint to many (or to whoever wants to know).
Sending other way (ie from many places to single one) with dispatchers is just as messy as with cast to and direct function call (or variable update) from inside master blueprint.
Thank you both for responses. Really I prefer to control through each BP, instead Level_BP, for organization.
I usually to have references in MyCharacter like vars, but for that case is not apropiated, are a lot of instances/objects.
I’d choosed Level_BP because is the one way I have get to launch a matinee actor (overall goals) placed in the scene, I haven’t figured out a child actor inside the BP to refer it. Can you guide me how to do it in other way?
… check this … may help … : ) ,