Rendering to a camera is a rather consuming operation in terms of computing/rendering. If you wish to have a cheaper option, you can get relative locations of relevant actors and tell your HUD to draw them on radar. That way you can also make sure radar always faces your direction.
One way of achieving this is as goes (assuming you wish to detect enemies named BP_Enemy in radar):
Create a variable called “RadarLocations” in your HUD. Make it an array as you are likely to have multiple actors detected by your radar.
Create a blueprint interface called “Radar Interface” or sth similar. Add a function called “GetLocation” with an actor input. Add another function called “SendLocation” with a vector input.
Create an “Event Receive HUD Draw” event in your HUD. Clear RadarLocations array. Get all actors of class BP_Enemy. Create a ForEachLoop using output from previous step. In Loop Body, get location of each enemy by subtracting player’s location from them and add this to RadarLocations vector array. Finally create another ForEachLoop and use a DrawTexture node in Loop Body to draw them all.
You can use some Branch nodes to prevent drawing enemies that are beyond radar radius.
I found your tutorial a while ago and I’m stuck on final step, that image is just too low resolution, I think I figured most of it out. Is there any way I could get a larger resolution image? I just need to double check my node names.
Yay! I read comments on your page and saw your comment about copying link and removing resize in html. Now I can see where I went wrong! Thanks a million! Excellent tutorial!