How do I cast to a specific object in the world from inside an UI element?

So I have an actor blueprint in the world that is a building with ‘hit points’. The hit points are decreased as another character that moves around the level touches this building.

That all works great, and each individual building in the world will take individual damage as the damaging character moves around. But I have a health bar (a progress bar ui element) on top of the building, this health bar has the following ‘get percent’ function. To be specific, this health bar is a widget added in the building’s blueprint.

So, none of these work. In A, the cast fails as the object input is most likely wrong, in the example it’s set to be just a reference to “Actor”. How could I make this input reference a unique object in the level?

In B, it “works”, but it affects every building’s health bar, even though the values themselves do remain unique to each building. So basically when the damaging character touches the 2nd building, the health bar doesn’t decrease. It will only decrease when it damages the first building.

In C, I tried to get a copy from an array but it’s exactly the same result as B.