How to transition between 2 levels at different points?

I’m making a game with 2 different levels. The main level is our exterior while the 2nd level is the interior. What I have setup so far is 4 different trigger boxes that enter different points of the interior level. Problem I’m having is the boxes send the player to the same point of the interior & the interior entry points send the player back to the starting point of the game.

What I need to know is how to set the 4 boxes in the exterior level to send the player only to their own corresponding boxes in the interior level & vice versa, like going downstairs into a room & coming back up the same way. My professor suggested something like saving the positions of the boxes & filling variables to match them with the interior ones which would be easier for me in Unity but I have no clue how to do it with Unreal blueprints.

Anyone think they can help me here? This is what I have so far, from a tutorial I found awhile back.

When you open a new level, you pass which one of the starting points you want in the options. Then you override Choose Player Start in the game mode, where you get the options and get which starting point you want.

exactly how do I do that though? I get the options part but what nodes am i connecting here?

There are different ways to set in which player start the player should spawn.

Here is an example using tags:

1 - set as many player start as you want and also give to each one of them different tags:

2 - when you “Open Level” set in the argument section something like: s=TAG_OF_THE_PLAYER_START_YOU_WANT

323564-2.jpg

3 - in the game mode, override the Choose Player Start function:

323565-3.jpg

PS: note that I assumed you are passing only one argument in the options. Also, if it’s enable to find a player start with the respective tag, it will randomly chose one.

I cant find this game mode you have. Going into the BP for the door triggers I made (from my pic^), I could not find it there either to make the override, unless I make a custom function called ChoosePlayerStart?

As for the Open Level nodes, how do you have more than 1 connected to what I assume is the Cast To FP Character node? I tried that because I have 4 tagged player starts I need used & it breaks the last one connected whenever I connect another.

And last thing is I can’t have the player start be chosen randomly. It has to be one specific entry trigger box accessing a specific player start & the same way back.

We dont have a game mode set up so yeah, its probably using the default. And yes i mean level transitions. Your pic has Open Level nodes like mine so I assumed you created a BP similar to mine to show what to do at that part of it, but I cant connect whatever comes before the Open Level nodes to more than 1 like yours?

My blueprint from my pic in the OP is how I followed a tutorial for simple level transitions using box trigger collisions but it doesnt send me to the correct points. It either sends me to one starting point in the 2nd level, or the triggers in the 2nd level send the player to the main level’s original starting point.

What I have now is 4 trigger boxes meant to send the player to 4 specific points in the interior level & 4 more boxes to send to 4 specific points in the main level but right now all it does is send me to the same single point in each level no matter which trigger I touch.

EDIT: I just made the Game Mode as per your instruction & the rest of that stuff clicked & I have the same Choose Player Start graph set up now.

I cant find this game mode you have. Going into the BP for the door triggers I made (from my pic^), I could not find it there either to make the override, unless I make a custom function called ChoosePlayerStart?

The Game Mode is a BP that you create:

323737-1.jpg

Are you using the default one?


As for the Open Level nodes, how do you have more than 1 connected to what I assume is the Cast To FP Character node? I tried that because I have 4 tagged player starts I need used & it breaks the last one connected whenever I connect another.

We are talking about level transition and not teleport, right?
You have 4 trigger boxes, each one connected to a cast and an open level node. So, I don’t understand what you’re doing. Can you show me?


And last thing is I can’t have the player start be chosen randomly. It has to be one specific entry trigger box accessing a specific player start & the same way back.

The way I did it, it’s only random if and only if, it cannot find the respective tagged player start. You should always provide a default behaviour, so the game doesn’t break.

So, in each of those trigger box, in the options of the “Open Level” node, specify the specific tag of the Player Start where you want the player to spawn in the next level.

But you still need to create a game mode BP so to override the Choose Player Start function.

I did do the options part & created the Game Mode. My problem is it cant hold all 4 tags in one Open Level node & i cant connect 4 differently tagged nodes in the same BP. Each trigger is currently using the same BP. Is there a way to connect all 4 nodes in one BP or do I have to make more BPs for each direction the player is meant to go in?

There’s another issue, I attempted to test the game with just one trigger having a BP with the tagged player start & when it starts, I lose control of my player. It starts me as a free flying camera instead. Changing the Game Mode back to default from the one I made at your instruction fixed it though? What else do I need for my Game Mode?

free flying camera

Do you mean “falling” or is the camera just point towards the horizon? If that’s the case, it means the game mode is not finding the tagged player start. Did you copy the overrided function exactly?

Pretty sure I did, ^that’s how it should look right? Also when I mean free flying, i mean like I can basically fly around my map when I shouldnt.

EDIT: hope you see this edit, but I added the same game mode graphs & overrides you used to the default game mode instead of using a brand new one like i did & now its not sending me in a flying camera but it still sends me to random points instead of the matching ones for each box.

I went with making multiple BPs for each box & did not solve the issue.

I understand that^. My problem is that^ is not working because all my triggers are using the same BP & if I change the options for one of them, it changes it for all of them.

So is there a way to use that ONE BP to connect 4 Open Level nodes with each options I need or do I need a different BP for each trigger?

Can you show me the tag of one of the player start?

And also, one of the Open Level nodes?

Oh lord, it finally works :smiley:

When I saw your message, i was getting those pics together for you & my blind self realized the interior points tags were jumbled up in their BPs somehow from one of my last saves, even though the exteriors were fine. Fixed them up & it works now.

Thanks for your help my man!