For the most part I have what I want but not exactly. My intention is when teammates come within range of each-other their health-bars become visible as long as they stay in range. The medic class has a larger radar range so they can see teammate health bars at farther distances. The issue I am having is players can see the medic at max radar range whereas the medic needs to get within the average class range…it’s backwards.
All the characters are childs of the parent First Person Character. The Name & Health Plate widget component is not replicated but it is updating its scale and progress bar as intended.
Developed a fix. A user on reddit suggested I “switch them”…and it got me thinking in the right direction it seems. Rather than the Sphere collision initiating the event I swapped in the character Mesh to trigger the event. This way the mesh of the non-medic character would be reporting to the Medic actor rather than the medic calling and asking a target actor to reveal the health bar.
Currently in this setup there is a bug when testing in PIE. The first time someone’s health bar is revealed, that character’s health bar is shown on all client screens no matter if they are in range or not. But the moment each individual client comes within radar range it fixes on that client. I am unsure of an effective way to get around this new conundrum.
Without even looking at your blueprint - whenever i had a case that some function acted “weird” the first time and then normal all other times it was either because
a) I used a variable that had a bad value assigned initially or
b) I used a variable and THEN assigned a value to it while it obviously should have been the other way round
Oh well at least for me it was always these 2 mistakes whenever a function was weird “the first time” i called it.