create two separate characters for each level in Unreal Engine 5

So I am creating a game where you can choose between one map and the other. However, I want to have two different looking characters as the player start.

The only option I see to pick a player controller is through project settings. How can I use two different style players for each level?

Hey there @SushiMane11! So depending on your use case, this has a ton of different answers. If you’re going to be handling the different players like different game modes, you can then create and assign different game modes that have the default pawn for them changed to the characters you want.

However, if you’re going to have a different character for every level, keep the same game mode, and you’re going to have tons of levels, you may have to set up a game mode that can be told which character to spawn on the fly, which is a bit more complicated.

1 Like

I know this is kind of late but if anyone comes across this question I will put how I did it.

First make a enumerator that will contain the names of all levels but make sure you type them exactly as you name them.

Then make a structure that will have two variables. One will be the enumerator that you made for your levels and the other one will be pawn class. You can name them how you want.

Using the struct you just made you will create a data table from it. Then you can fill the data table with how many levels you have and what pawn class you want to use for each level.
In my case i have 4 Levels so 4 rows


you can name the rows however you like.

After that make your own GameMode(Create New BP–>Game Mode Base) then open the new GameMode that you just made.

Inside go to the construction script and do this:


So what does this do?

Well the first node is for getting the data table that you made and making an array of all the Row Names that you have in it.

Then you do for each loop with Brake. This goes through all of the element of the array until the current level name matches with the Level_ID (the name will depend on how you named the variable inside your structure) inside the data table. Once it does find one that matches the names it sets the Default Pawn Class to the one that you have put for that level in your data table.
Final step is for you to set the game mode to your new custom game mode that you made. And it should work.