Multiplayer TopDown Kit

The data in the PlayerController is replicated between the Player and the Server only. The data in the PlayerState gets replicated to All clients from each clients data. So only information that other clients needs to know about a specific client really needs to be in the PlayerState.

The reason why the Health and everything is on the Character is because of the possession feature. The PlayerState holds a reference to what character pawn that player is controlling and allows all the other players to get information that way. If you are removing the possession logic I would add player health, etc into the PlayerState directly while keeping all control logic that only the client and server need to share in the player controller.