Rts / moba / topdown how to link the hud with charactor and its correct player controller in multiplayer

im stuggling to get my hud to work with multiplayer with thier charactors and cant find where iv gone wrong.
the players join or host a lobby and start the game for there.

being a top down / stratagy game the Posses node doesnt work for me since it will move my camera to the possed charactor. so with the actuall character i cant use the get controller node on my character ?? making it harder to make the link between the 3 (controller/charactor/hud)

i have my own camera actor that the controllers use and it works fine.

i spawn the players character in the GameMode, i tryed spawning them inside the player controller but i had issues with the server controller and the client controller both spawning the character and when i used is local controller the client wouldnt work and only the host/server would get a character.

so on my player controller i have

pic

The Spawn function on my Gamemode i also run a custom event set player controller that sets the player controller variable in the charactor parent

pic

the health bar ect on my hud uses enum/struct libary for the values on them like the max/min/current ect so i can do i bit more and add basic animation to them easyer
but heres the basic setup and show. all the hud functions are on the controller also

pic


my basic ai movement for the charactor that works fine

pic

on the controller

then on the charactor parent

so thats the set up but when i do a basic damage event and the hud update will only work on the host/server character. but the print string bug test shows for all characters

pic

i also did a basic test just to see if i could get the hud to work on the clients and yes it does

pic

so somwhere along the lines my clients charactors is not connected to the hud in any way and i cant seem to find it

any help is much appreciated. also if there is a easyier way/cleaner way for the format/set up im all ears still pree new to unreal

UPDATE: My bar widget in the struct is coming up invalid when clients charactor is being hit

heres the get stat and modify stat functions

pics

not sure why