Simple team system BP help

Hello, I’m simply trying to make a system where when a multiplayer game begins, a variable is created that contains the number of players in each team and assigns a number to each player, and then a random one is selected and that player is made the “Leader”, and as a test output I had it spawn a “Guard” near them as seen in the pic on the top right. *(battle royale type game - for reference, think of APEX Legends… I’m trying to number each player on a team and choose one person from each team to be their team leader where I can execute functions from the PlayerCharacterBP using a Boolean “isLeader” or something. I have the variable concept, but my problem is knowing when, where, and how to target and update these variables and having access within the PlayerCharacterBP to target the leader.)

This works in singleplayer testing… however I know it is far from finished and would like some help on making it actually work- am I on the right route making an Actor Component for each team , in order to avoid complicated arrays so that I can store variable info in here? How would I target it? How would I then update the team player count (add one member and assign them an index when they load in with their team) from the gamestate if i go this way? I have a lot of uncertainty but the overall concept seems simple, Id just appreciate help on connecting it and doing some cross-blueprint voo-doo. Thank you!!