[Bug] GameMode cannot be changed once set to custom BP GameMode

Hey guys,

So I have my original gamemode C++ class created automatically on project creation; FlightPrototypeGameMode. In it, all I’ve added is an override of BeginPlay, which does still call Super::BeginPlay, so all good. I have a blueprint gamemode called BP_GameMode which inherits from this class.

In the editor, my gamemode is set to BP_GameMode, as per the following;

Which results in the following entry in DefaultEngine.ini;

GlobalDefaultGameMode=/Script/Engine.GameMode
GlobalDefaultGameMode=/Game/Blueprints/Core/BP_Gamemode.BP_Gamemode_C
GlobalDefaultServerGameMode=/Game/Blueprints/Core/BP_Gamemode.BP_Gamemode_C

When I change this gamemode listing to the following (which inherits from my new C++ gamemode, called TeamEliminationGameMode, which overrides BeginPlay and ChoosePlayerStart, but has Super:: calls in both, so no alterations to overall behaviour);

My DefaultEngine.ini’s entry changes to this;

GlobalDefaultGameMode=/Script/Engine.GameMode
GlobalDefaultGameMode=/Game/Blueprints/Core/Gamemodes/BP_TeamElimination.BP_TeamElimination_C
GlobalDefaultServerGameMode=/Game/Blueprints/Core/Gamemodes/BP_TeamElimination.BP_TeamElimination_C

The problem is that it still loads up BP_GameMode when I hit ‘play’. I’ve tested this by setting a different default pawn in BP_TeamElimination and checking if that one is used (it isn’t), and by setting breakpoints on this BP’s BeginPlay node, which is never executed (however BP_GameMode’s is, even though it’s no longer selected as the default GameMode).

Any ideas?

Thanks.

EDIT: Don’t know what happened to my image links. They’re still valid, and the images are attached to this post.

Turns out I still had ‘GameMode Override’ in World Settings of my test level set to ‘BP_GameMode’, rather than ‘None’. Solved.