UI Radar Widget positioning not working for me.

Hi there, maybe I’m mistaken, but this does look a bit AI interfered, correct me if I am wrong, and AI tends to make things worse when the architecture itself is not understood first. (Don’t get me wrong wanted to point it out) You have quite an experience with Unity too so this shouldn’t be too hard.

The bigger issue here is not one node or one line of code. It is that too many responsibilities seem to be mixed together.

You need separation of concerns. Maybe we should start with ProcessActor refactoring.

Think of the radar as a bucket/container. Its job is just to contain contacts. It does not need to know everything about what each contact is doing.

Each blip/contact can know its own type, center actor, max range, update its own position, and remove itself when no longer valid.

So the radar should mostly manage what is inside it, not micromanage the behavior of every single widget.

Right now there is a lot happening in one function / graph, so the problem could be coming from many places. That is why it is hard to diagnose directly from this post.

I would first clean up the ownership and responsibility of the system. After that, the actual bug will be much easier to find.

I would start with first common functions like if we are going to do with same approach.

RegisterContact // If an actor should and can be registered adds to array/ struct
DeregisterContact // removes and actor from array struct
GetCurrentContacts // Returns all actors in our dictionary
ShouldRenderContact // Checks their state (On Tick or Cron), if not calls Deregister (probably not needed)
UpdateContacts // Makes the rendering job and all representation.

On Update contacts you can create TMap of actors or widgets if not created and update in radar. As batch process and efficiency its good, but I usally delegate responsibility to widgets so they can do their jobs. It’s a trade off but I generally find this approach more elegant than others.

Do let me know and a similar BP only a while ago i did something for another topic which is really bare bones radar can be found here (Your needs seems much more than this but could work)