So been banging my head on this for bit. I am doing a space flight game and am using multi sphere trace as a radar to find enemy units. What I need to do is get the returned array of actors and put them into a umg scroll box. This array will be refreshed each ticket and needs to clear and or update the scroll box. Final product would be a list of all targets in radar range.
Make an array of enemy unit references in your radar widget.
On your radar tick (I really would not use tick for this), clear your scrolling list and populate it from your array of enemy units.
Now, you can update your radar’s array of enemy units from anywhere in the game and it will update the scrolling list with the relevant information.
How should i update this if not by tick?
You have two options.
- Have your ship pawns have a “radar sphere” and when they overlap an enemy ship actor, trigger an “addToRadar” which would push that ship’s data to your player’s radar.
That way, only when a ship goes into your detection range it triggers the update. Rather than it triggering on tick whether or not ships are in range.
- If you want the radar to constantly poll, then put it in a Timer that will trigger every 0.5s to 1s (1s is a pretty reasonable delay for a radar to be honest). This makes it so you free up that tick call.
OK so I have set up a radar sphere with overlap events, the rest is in the photos below. These are the ship side blueprints
And here are the widget side blueprints