Hello, I need to figure out how to do certain basic things with the unity multiplayer system. I'm trying to make a game where the server controls all the data, and gives selective access to some of it to clients. Clients wont ever set this data, but they should still be network variables (as far as I'm aware) to keep them synced and functional. Each player will have their own set of information (such as the current state of their board, their cards in hand, and the contents of their discard pile) as well as some more limited information about all opponents (like the number of cards in their opponent's hand, and the number of cards in each spell they have on their board, but not their contents). My questions are: How do I make sure each player creates their own info on join? I believe it's each client creates network variables, but I could just be wrong here, so just in case, I'm putting this as one of the questions How do I change each player's data with the server individually? So that when a player sends a request such as "I'd like to play a card here" I can update their board state, update everyone else's more limited view of their board state, and subtract an action point from them, or similar things. I don't need that exact thing coded, I just need to know how to read and write to an individual player's network variables(or whatever works better here) How can I make the server control a specific script, that still works with client and server rpcs? When I tried just making it a separate script it gave me an error because it didn't recognize the server RPC as a valid method (does not exist in current context error) I've looked through the docs for a few hours and just couldn't answer the above two questions. Help would be appreciated, and I can clarify if I have not been clear enough. Thank you!