The compass module offers you the ability to display objects in a RPG-style compass.
The compass widget is simple and modular and can easily be modified to suits your needs :
First, Add a CompassComponent to your Player.
Setup the datas in the Initialization section.
Add all the icons which could be displayed on the compass. Those icons can be displayed by using either Texture or Materials.
Setup the Sonar infos. This setup maps the type of object to display in the compass with the minimal distance from which they will be detected.
The Sonar delay is the delay between each item detections.
You can also change the location of the North by changing the North rotation offset.
Then, Add a collider (Sphere collider) (or use a collider which is already present in you Blueprint) to the Actors you want to display in the compass. And set its collision presset to "CompassItem".
This will make your actor detectable by the compass system.
Also add a CompassItemComponent and setup the datas inside the initialization section.
Auto Register at Spawn allows the actor to automatically be registered in the compass at begin play.
Display Quest is the key which identify the actor in the LabelsToIconsMapping of the CompassComponent.
Type Key is the key which identify the actor in the SonarInfos of the CompassComponent.
If you want Actors to be displayed inside the compass, you need to register them inside the CompassComponent. This is done by calling the RegisterItem/UnregisterItem from the CompassComponent. Destroyed actors are automatically unregistered.
Of course, you can set the AutoRegisterInCompass variable to true in the CompassItemComponent to automatically register the actor without having to do any further actions.