What's the best way to communicate between a Level Blueprint and a UMG Blueprint?

Using 4.7 here. Blueprint communication remains mighty troublesome here…I’ve watched millions of tutorials on it but I seem to always run into some issue I’m not understanding.

Here’s the situation.

I have a level blueprint. From my level blueprint I want to communicate (call an event) to fire off in my UMG blueprint. I’ve tried custom events, event dispatchers, and blueprint interfaces to achieve this effect. NOTHING I seem to do works. I AM creating this UMG widget and displaying it to the viewport upon the Event Begin Play in the level blueprint. However, when I’m trying to call other areas of my UMG blueprint to fire off…nothing happens

As a side note, how come the flow of execution (the pulsing lines coursing through the execution wires) don’t show ever in UMG blueprints? Even when UMG scripts DO work, the flow of execution can’t be seen in the graph like it can in the level BP, for example.

for the execution flow, just launch your game, (shift + f1 to get your mouse back) and in the drop down list of your blueprint(debug filter on the top of window ) , just select the running instance of your blueprint.
communicating with level blueprint can be triccky, you may need to do this using the playercontroller or pawn.
i use that way to trigger an umg event :
i put a trigger volume in my level, added a begin overlap event for that trigger volume, so i got a reference to my player controller when he enters the volume and could show a “press E to activate” when the players come close a button.
hope it helps !

How are you currently handling the calls to the widget?

A rule of thumb I use is to avoid trying to communicate to the level blueprint. It’s troublesome to say the least. Calling other blueprints from it is fine though.

Sometimes simulation doesn’t work or appear. This has always been a fickle thing for me. I never figured out what causes it to appear sometimes, but not always

-Garrett

Some screenshots here to show my set up. I don’t get why my communication from my LEVEL BP to my UMG BP isn’t working…

At outset of level, I create my “Game Messages” widget and add it to the viewport (the intention of the widget is to flash up messages during my football game alerting the player of how many yds they gained after a play)

Next, I run some script in the level BP that essentially says “once it’s the end of the play, send a message to the “Game Messages” widget (via an event dispatcher created IN the “Game Messages” widget) that a message should appear reporting how many yards were gained or lost on the play.”

Finally, I attempt to receive that message from within the “Game Messages” UMG blueprint in order to fire off (show) a message that reports yards gained or lost (in this case, lost)

In setting breakpoints to try and assess the problem, it seems that my “Give Yds Gained or Lost Report” event in the last screenshot (within the “Game Messages” UMG blueprint) NEVER fires. I’ve also attempted to use Blueprint Interfaces to fire off events in my UMG BP to make messages show. Nothing works.

What in the bloody hell am I doing wrong!?!?!

I’ve also tried this form of BP communication (Custom Events)…

I created a custom event in my “Game Messages” UMG Blueprint…

…that I attempt to fire off from my LEVEL BP at the end of a play…

And when I DO this, I get THIS error message that I don’t understand…

Put a reference to your UMG widget into the GameState, and then you can call it from anywhere, as “Get Game State” is available through the entire game. You just need to cast it to the appropriate class type.

I don’t see where you create the reference variable for the Game Messages widget. Try right clicking the return value of the “Create Widget” note, and promote it to a variable (This will act as the reference point). Then, whenever you call something relating to the “Game Messages” widget, use that variable as the object.

I got it figured out…

After creating the widget upon Begin Play in my Level BP, I needed to SET the “Game Messages” variable at the end of that sequence (as shown below).

My mistake was that I’d simply created a variable in my Level BP of type “Game Messages” and tried to do calls off of THAT (which didn’t work.)

All is well now…BIG THANKS TO ALL WHO HAVE CONTRIBUTED TO HELP SOLVE THIS. You have my gratitude.

As a side note…it’s THESE kinds of niggling details that trip me up on Blueprints ALL THE TIME!!!