Rama’s Suite of Powerful UMG Nodes
Here are the 3 core BP nodes that I’ve been using to make all of my complicated interacting UMG menus, including an in-game file browser and a menu that allows you to change the materials on any skeletal mesh, while in-game!
These nodes are available to you now!
**Get All Widgets of Class**
Allows you to not have to store references everywhere to your widgets, making it easy to interact with the Player Controller and My Character blueprints :)
Also makes it easy to remove a loading screen after a level transition, without storing refs in Game Instance class
Remove All Widgets Of Class
You can find and remove any widget any time this way, no matter where you are in BP! (here I am in the Level BP)
If you make a general superclass for all your widgets (Reparent to a blank UserWidget of your own making), you can clear your entire UI system from the viewport with a single call to RemoveAllWidgetsOfClass, supplying the class that is your super class for all your user widgets!
So lets say you have 3 user widgets that you made, make a 4th that is blank, reparent your existing 3 to your new empty 4th widget (“WidgetMaster” for example).
Now you can just call RemoveAllWidgetsOfClass on your new 4th widget, WidgetMaster, and all 3 of your existing widgets will be removed automatically from the viewport!
**Is Widget Of Class In Viewport**
Take action based on the dynamic lookup of whether a certain widget is currently visible!
No need to store refs or bools anywhere, just do a dynamic look up that is lightning fast!