Direct Blueprint Communications


I’m having problems communicating between blueprints by “Creating an Object Variable for the Target Blueprint” as explained on the following page:

Basically, I have a UI button that, OnClicked should execute a function from another blueprint.

I can’t get the communication between the UMG widget blueprint (is that what that’s called?) and the other actor blueprint to work, even though:

  1. I set up the variable and referenced it to the blueprint where I want to run the function.
  2. I made the referenced variable public.
  3. I linked the OnClicked event of the button to that function with the target being the reference variable.

I’ve checked out multiple project examples that do this, and they seem to work fine. I also checked out other video tutorials on this subject but just can’t figure it out.

Is there something I’m missing?

I have the same problem.

If anybody is having trouble with this, I managed to get it to work by doing the following (I have a turn based game with a button that ends the turn):

This many years on and this is the only bloody thing that works for me!
Epic need to update their documentation!!

You can’t use the method from documentation for widgets because you can’t “click” on a widget and select it using the eye dropper thing in the editor. That is for 2 actors that are physically present in the world. Here the OP is trying to go from a widget (which won’t exist until you hit play) to a controller. To create these kinds of communications you need to use other methods, a simple cast to with a “get player controller” probably would have worked here. If you want some more ideas for how to create references and communicate between blueprints you can check out this series. Videos #1 goes over casting in general, #25 is for creating references by may different methods, and a few other videos discuss widgets and how to use them.