Quick answer: URL parameter ?game=... overrides World Settings. If your OpenLevel call includes a game parameter, that GameMode wins. Either remove the URL game param or accept that World Settings is overruled.
Here is how to fix Unreal multiplayer hosting where the World Settings GameMode override appears to be ignored. Resolution priority puts URL parameters above World Settings; check your OpenLevel options.
The Symptom
You set GameMode Override on the level via World Settings. Host the level. The default game mode runs instead of the override.
What Causes This
URL game param. OpenLevel(...“?game=...”) explicitly sets GameMode, beating World Settings.
DefaultGameMode in ini. Project Settings → Maps & Modes Default GameMode applies when nothing else does. If World Settings is empty, this kicks in.
Wrong listen server URL. ?listen URL must include map; otherwise current map continues, possibly with default mode.
The Fix
Step 1: Resolution priority cheat sheet.
URL ?game= parameter (highest)
World Settings GameMode Override
Project Settings DefaultGameMode (lowest)
If you want World Settings to win, do not pass ?game= in OpenLevel.
Step 2: Host without game URL.
UGameplayStatics::OpenLevel(World, FName("MyMap"), true, FString("listen"));
Just listen; no game parameter. World Settings on MyMap controls GameMode.
Step 3: Or specify GameMode in URL.
UGameplayStatics::OpenLevel(World, FName("MyMap"), true,
FString("listen?game=/Game/Modes/BP_DeathmatchMode.BP_DeathmatchMode_C"));
Path must end with _C suffix for Blueprint classes.
Step 4: Confirm in PIE. Window → Editor Preferences → Play In Editor → Multiplayer Options. Check “Use Single Process” off and start as Listen Server. Verify in PIE which GameMode actually loads via on-screen debug or log.
Step 5: Add a startup log.
void AMyGameMode::BeginPlay()
{
Super::BeginPlay();
UE_LOG(LogTemp, Log, TEXT("GameMode running: %s"), *GetClass()->GetName());
}
Confirms which class is actually instantiated.
“URL game param wins. World Settings second. Project default last. Match your hosting URL to your intent.”
Related Issues
For multicast RPC issues, see Multicast RPC. For Event Dispatcher replication, see Event Dispatcher.
Skip ?game= URL or pass the right one. World Settings respected when URL is silent.