I am currently working on a multiplayer game and I am having difficulties on assigning values on variables for each clients. Originally I looped through available clients character from HUD then assigned the calculated the value but I decided to do it inside character blueprint's instead. 

I don't know why only first clients gets the calculated values but the other client still having the default value.

This is the initial value that I assigned from inside Character C++

    MaxHealth = 500;
    Health = MaxHealth;

This is how I assigned the value from the Blueprint.
[![][1]][1]

Set Initial Attributes is where I calculated the Health value based on player's Strength value etc and the reason I'm doing this is because I am planning to retrieve the stats from the datatable in the future. But I don't know why it becomes like this instead.

This is the correct final value that supposedly assigned on both clients.
[![First Client][2]][2]

But only first client gets the correct value, not second client.
[![Second Client][3]][3]

I don't want to use loop to search the player characters' inside player character's blueprint and assigned the value because I don't think it's a wise move so I am looking for a better alternative if any. Thanks!


  [1]: https://i.sstatic.net/OkunZ.png
  [2]: https://i.sstatic.net/gzIp1.png
  [3]: https://i.sstatic.net/RUgNY.png