Rookie Advice Sought

I’m working on my first multiplayer game, which is a board game called Shobu where players take turns moving pieces on the board like Checkers or Chess. With enough tinkering I was able to get basic stuff like the pieces moving on both client and server but what I can’t do at the moment is synch up the main class (Shobu.cs) which stores all of the game state stuff, etc, so when the server player is done the client player can now move. I’m not sure of the best way to do this. Should it be RPC calls, NetworkVariables, etc? Any advice would be great but once I have that down I should be on my way.
Thanks!
-Mike

The amount of state for a chess-like game is trivial, even a byte[ ] would suffice to record which type of unit is on what grid field.

RPC are good for sending changes to state. Since state changes only on user action, a turn based game would work well with RPCs.

NetworkVariable (especially collections) let you sync the entire state at once, but it will sync the entire state for every change unless Netcode has internal optimizations. In this case it would be an easier way to sync the byte[ ] for every change since any bandwidth inefficiencies are negligible (8x8 grid = 64 bytes plus overhead to sync up).

Ok thank you, I was actually leaning towards RPC’s since this doesn’t happen very often. I’ll look into using NetworkVariables for something else to show off heh.
Thanks!
-Mike