This is what I found out so far:
GameMode: resets between maps. Runs only locally (does not exist on server) and is thus only suitable for SP.
GameState: resets between maps. Runs both locally and on server and is thus suitable for replication.
GameInstance: persists between maps. Runs both locally and on server BUT it runs as NM_Standalone and is thus NOT suitable for replication.
PlayerController: I don’t know if it resets between maps but it replicates and is suitable for replication. BUT the server will have multiple PlayerControllers and thus you don’t want to put certain variables here.
So okay I have an array of certain actors that both the server and the clients must be aware about AND it must be persistent between maps. Where do I put it? Because it looks like it is none of the above…
Also interesting:
One link says that the GameInstance only exists on the client and the
other one that it only exists on the
server. Not sure which one it is now
but it for sure cannot replicate
because it does indeed show it’s
NetMode (I tested it) as
NM_Standalone(0).