Gamestate question and question regarding ownership

Hey guys looking for a little assistance…

  1. The game I’m working on is a 2 player tcg. In this scenario, is the correct way of doing things to make 2 PlayerControllers (one for each player) and have the construction script spawn their decks with the PlayerControllers as the owners? Then I could make some logic where only the owner of the deck (and ultimately the cards in the deck) could interact with their cards?

  2. I’m having a little difficulty understanding what should go I’m the game state. I know that anything that is replicated should go in there like player scores, but should instantiation of the decks and cards (and their destruction) be handled in the game state… I guess I’m wondering exactly which replicated objects/logic should take place in the game state.

I think the first question to ask is whether this is turn-based remote where each player sees a replay of what their opponent did once their own turn starts, or if both players are “in” the game simultaneously. I imagine that would drastically change the approach you want to use with the way you implement multiplayer.