I’m putting these in GameInstance, because that persists for the life of the game across levels.
But they need to be replicated in other places. As I understand:
- Character - resets on respawn
- PlayerController - persists on respawn but local only
- PlayerState - persists on respawn and replicates, meant to hold current info about players that everyone can access. So a name can go here.
I don’t think Selected Weapon or Appearance data is relevant to other players, and can be set when a character spawns.