Tom Looman has recently published an article on adding UI for things like health bars, nameplates, interaction prompts and more in Unreal Engine 4. These tasks are not so challenging, but it’s always nice to know some tricks not to waste time. The guide is mostly focused on C++, but the developer has also shown Blueprint-only trick.
Check out a little piece of the tutorial to get interested:
The Simplest Implementation in Blueprint
Not everyone wants to touch C++, and it’s not really required. You may also not like the idea of the custom UserWidget base class for your UI elements moving forward (those are will be drawn into the world at least). You could do this in Blueprint too, just a little different. Here is the basic principle of how you could achieve the same result in your Blueprint project in a quick and straightforward manner.
I created a fresh Widget Blueprint, added a variable called OwningActor of type Actor. Now I access the Widget Component on the Actor that will own the Widget (eg. the Player pawn Blueprint from the image above) during BeginPlay, and we get the “User Widget Object” which we need to cast to the correct type. Finally, we fill in the OwningActor variable with the Actor “self” and we’re done!
In the above example, we added the widget blueprint to a grenade actor so it can display the information on mouse-over when the player sees it in the world. Look at the end of the post for some more context screenshots in case you’re not quite following this yet.
You can find the full article here.