Many roads lead to Rome. This is one of them:
Create an enumerator that defines the different pickup types:

Now create a structure that holds the player values, being Health, Armor and Shield

Create a BP based on actor that holds a reference to a mesh and provides a collision box.
Also add a variable to hold the amount the pickup will give.

This is now a function that will adjust the player stats display.
This function calculates the new stat values.

In the event graph add a BeginOverlap event handler to the Collision box to take care of pickup removal after pickup.


Now place some in the level. Set meshes for it. Tweak the amount values per instance, if you like. The pickup is done…
Now lets modfify the player BP. Add a Stats variable and create a UI on begin play…

The player is done. So lets finally create the UI
Create an UMG interface and add text fields/variables to it. Those are the ones the updatestatsdisplay function from above sets…

In the final game it looks like this:



Hope that helps 

