How to communicate between two widgets

Kinda depends what you’ve attached these widgets to, but let’s say the Parent here is your player controller (easiest example). One thing that should work is to go back in your controller blueprint and find wherever you’ve created those widgets in the first place before adding them to the viewport. The create nodes should have a blue output pins on them - right click each and Promote to Variable. Give them names that make sense to you, like “WidgetA” and “WidgetB” in your case. That will save a reference to each that will be important later when you try to communicate between them.

So in Widget A, you can get the owner - which will likely be a generic controller - then Cast To your special type of controller - and then the reference to Widget B can be pulled off that cast node. You can then change a variable or toss an event into B as you wish. If you are doing this in some sort of pawn or character, you might need an extra step to get the controller - then get that thing’s “controlled pawn” - cast that to your BP_Actor class and look up your widget references there.

Note that things are cleaner here in 4.12 - if you’re still in 4.11 or earlier there’s even one more step. Once you have the widget reference to Widget B, you used to have to pull off that and get the user widget object, then Cast To whatever widget type that guy is, and -then- you can get into its variables and events. Way confusing and always seems to take more nodes than it should. If you’re blindly trying to find the magic node that does all that, you’d never find it on your own.