Alternative for GameInstance in multiplayer?

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:

Variables on GameInstance are not replicated - Multiplayer & Networking - Epic Developer Community Forums

https://forums.unrealengine.com/development-discussion/blueprint-visual-scripting/54717-gameinstance-doesn-t-support-switch-has-authority

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).

Hey there, if you use Server Travel with seamless travel, the player controller persists when you change maps. You can check about that here.