Thank you for your post and we apologize for any frustration you may have encountered while using Unreal Engine 4 or using our documentation. We are actually in the process of reviewing our approach to documentation here at Epic, not only stylistically, but also in terms of the instructional methods we use to teach and how we present information. We have identified areas where our learning content (not only documentation, this pertains to videos and samples as well) can improve and have taken steps to raise the quality bar of our content across the board. I don’t have a time-frame of when our content will reach the bar that we’ve set, but you will start to see these changes roll out and touch all aspects of our learning content moving forward.
With regards to your specific scenario, there are a couple different existing pages that may point you in the right direction:
UMG UI Designer Quick Start Guide
This guide will show you how to get a HUD up and running that includes Health/Energy and Ammo, as well as creating a Front End Menu and Pause Menu through Unreal Motion Graphics.
UMG UI Designer How To’s
The Unreal Motion Graphics How To’s will show you how to do one-off shorter UI examples. While there is currently only one for Creating 3D Widgets (3D HUD elements in your game), we are scheduled to update this section with additional examples, similar to the Material, Blueprint, Paper 2D or Matinee How To sections.
UMG UI Designer Inventory System
The UMG UI Inventory Tutorial shows how to create an inventory system and the UI elements associated if you prefer the video approach to learning.
How to on Direct Blueprint Communication
Regarding Direct Blueprint Communication, there is a How To that will walk you through an example of setting this up properly. The example that you cited is one of those pages that we have discussed that needs a revision pass using our new standards. The way it is currently written may not be entirely clear, but in order to successfully communicate between two Blueprints you need to also specify the instance of the Blueprint that you want to communicate with (which is the section that follows Creating an Object Variable). For things that are dynamically spawned, you can use the method that **RaedDev **cited by establishing a reference upon begin play and passing that reference to the HUD or found through the other methods of Direct Blueprint Communication.
We value your feedback and hope that you will continue to bring that feedback to our attention so that we may take steps to eliminate any hurdles that prevent you (and others) from accomplishing your goals.