Properly storing data? (Arrays/Nested arrays)

I’m creating a game akin to an arcade fighting game where it’s Player 1 vs Player 2, variables are set on the PlayerControllers (such as lives, which are replicated) and I’m trying to think of a way to properly set/store the data so that both server can easily read/modify it and clients can easily read it too. At first I tried setting the PlayerControllers of all players connecting in an array of PlayerControllers so that the array index 0 was Player 1, index 1 was Player 2, so on so forth. However, when the array is replicated, the client apparently cannot properly read their own PlayerController in the array and checking against LocalController doesn’t work.

So I tried to do a custom user structure, not knowing what I was doing, and simply used 2 arrays (PlayerController and Float) to store players + lives and set the index 0 lives for player 1, index 1 for player 2, but it seems that to change one variable would require breaking the entire structure, changing one thing, then setting it all back.

Anyone have any ideas? Tags don’t work client-side which would’ve been wonderful and I’ve thought of trying enums but I don’t fully understand them.