Change Gamemode on Open level

Hi,

I’ve been puzzling over this one. Could be my approach is wrong, but I’m not sure what’s wrong.

I read that for character selection, it’s best to separate each character into their own game mode, each with their own playercontroller and pawn etc. I’ve tried to set my BPs up so that when I open a level, I open said level with the game mode corresponding to the chosen character. However, using open level with the relevant game mode does not seem to work. I have tried all possible variations in the options field, but when I load the level, it always just loads with the default gamemode/pawn/controller for the map, or the default gamemode/pawn/controller from the project settings. Looking at all the other UE4 answers, they seem to all relate to C++ and not blueprints, could be that this doesn’t work for BP’s?
When leaving the game mode as ‘none’ in the level world settings, it just inherits the default project settings rather than using the Game Mode provided from Open Level function. There seems to be no way of setting the game mode override for each level. I feel like this is harder than it should be, and that I’m probably over-complicating things.
Any help would be appreciated.

Cheers.

Im not sure why you would want to seperate this by game mode, to me this makes no sense. Unless each character is a completely different type of game. You typically would have a game mode for each type of gameplay, like capture the flag game mode, or most kills game mode, main menu game mode, etc… Then all your different characters can have unique gameplay mechanics on the character itself.

So the flow might look something like this:

Game starts with Character Selection Map which has its character selection game mode as an override. You select a character, then select the type of game you want (capture the flag) and it loads the corisponding level which has its correct Game Mode as an override, but gets passed the character selected as the pawn to possess.

There is a bunch of different ways to do this but this is perty standard.

It could be that I picked a bad thread to base my design off of. They said that splitting the characters by game mode allowed for different player controllers for each type of character. For games with multiple characters, does one use the same player controller for each, and change the pawn? or multiple controllers each with their own functionality?

Yes, typically one controller that handles input, but what is done with that input is decided by the pawn.

For instance a character pawn and a car pawn both will probably move forward with different logic, but that logic belongs to them. And if a pawn does not move foward then it simply has no move forward logic. The controller just handles the input and I view it more as a middle man for communication connections and some special events, especially when dealing with networking, some things belong on the controller, because the server and client both have access to the controller and the controller does not get destroyed when the pawn does. (Simular to a real life game controller, you dont pickup a different controller to play a different character).

And that being said you do not HAVE to put all input bindings into the controller, the controller can give input to actors with the node (enable input) and other actors can directly receive input events on them. (Character class does this by default) so move forward input event can be directly on each character and each character can move forward differently with the same controller.