First, if you need more understanding about Casting, its really easy: say you are a Game Developer. but you are, of course, also a Human being. this means i can either treat you as a Human or, more specifically, as a Game Developer. If i want to ask you your name, thats easy! because every Human has a name. but what if i want to ask you something like your favorite game engine? thats not something EVERY Human can answer, i need to ask you AS a game developer. this means i have to cast you from Human to Game Developer. Now, instead of the engine treating you as a Human class, you are now a more specific Human class of type GameDeveloper. this means i can now ask you all the questions i can ask a Human + all the questions i can ask a GameDeveloper.
That being said, you have something called “MyHealthWidget” (GameDeveloper) of class “Widget” (Human). When you drag your WidgetComponent to the event graph in step 10, you pull out a “GetWidget” node that returns a “Widget” class. but we want to reach the data specific to “MyHealthWidget” (which is not in EVERY widget, only in our specific class), so we CAST it from a general Widget (human) to a specific “MyHealthWidget” (GameDeveloper). Now you can drag nodes from it related to your custom setup of the class.
I know this was a long explanation, but i hope this helps anyone who is also having problems with casting, and step 10 in particular.
All the best.