Changing GameMode to BP in a C++ project

In a c++ project i am trying to change default GameMode from a c++ class to a blueprint which is a child of a c++ class.

Using the default GameMode c++ class , the advanced options for player controller, hud , pawn etc are greyed out, but after changing to the BP child gamemode of the c++ class i am then allowed to select the blueprint, but they have no effect in the project.

the c++ game mode class has this in its cpp file

Which i assume overrides the child, therefore selection in the editor has no effect, but i cant get any PlayerController BP or HUD BP to work either

Is this just confusing functionality and im supposed to set them in the c++ class or am i doing something wrong?

setting the PlayerController to the PlayerController_BP in the c++ class of game mode seems to work fine


Don’t reference blueprint paths from C++. It’s the other way around. Fill the references in the default properties of your BP child.
Make sure the level/project gamemode points to your BP child.

1 Like

By default the GameMode Override is getting set to the base game mode in the world settings

Changing this fixed it

1 Like