How to get a local player controller in a multiplayer GameMode BP

First of all, you need to understand some rules.

GameMode is Server only. Clients can never access it.

UI is local only. Should never be done on the server. Does not replicate anything (No Replicated properties or Run on server, Multicast or Run on client events).

Now to your question:

You want to a call a Client RPC (Run on Client event) in the player controller of the newly created player. When the player connects, you simply call PlayerController->ClientShowSelectionUI or w/e you call it. The clients UI will then run a function on the controller which is a Server RPC (Run on server), to send the selection back to the server, then the server can access the GameMode and process the selection (Spawn the player, etc).

Really hope this helps, tried to make it as simple as possible.

1 Like