How would I open a level and set a character location in the same BP?

I am still pretty new to using blueprints in unreal. The scenario is I have a level select widget and some of the locations I would like to go to are in the same level. So far the only way I can think of in the blueprint I have is to reopen the level and and change the players location. However the blueprint seems to stop after the open level function. Is there a way I can have the action continue after the level is loaded with out having the blueprint inside the level blueprint?

It’s not a good idea to add some gameplay code to a widget.

You can simply add a PlayerStart actor to your map and your character will automatically spawn here.
GameMode has some functions that you can override to choose the correct PlayerStart if you have more than one.

Also there is a blueprint for the map :

https://docs.unrealengine.com/latest/images/Engine/Blueprints/UserGuide/Types/LevelBlueprint/toolbar_level_editor.jpg

You can add a Event BeginPlay and set the location of your character

Oh ok I see. Inside the Level Blueprint what can I do to let the player control which spawn point they can go to?

You can add SetActorLocation node to a custom event in your player character or player controller blueprint and just cast from the widget to character or player controller and call event which will fire SetActorLocation. You can also transfer variables such as vector with location to custom event.

Thank you. This might be out of my basic knowledge of blue prints. Let me see if I can get this to work for me.

If you just need to set character location on game start then solution offered by the other guy will be more fitting, this is more if you need to update character location at runtime on button press. It also shows how you can communicate from widgets to blueprints or blueprints to blueprints.

Thank you for showing me how to communicate through widgets to blueprints.

I removed the gameplay code from the widget I had and just made it communicate to the player and then to the level blueprint to do an event on level open.

Everything goes through except for the integer being set. I’m not sure if I am going about this in the right way.

I have two floors in one level. I overwrote the gameplay to allow player spawn on other actors other than player start. I basically want the level blueprint to read which floor button I hit and then spawn me in either location depending on the button pressed.

I included a screenshot of my setup. Would you have any pointers for me?

It’s probably because you have Event BeginPlay inside LeveBlueprint. When the game start’s it get’s fired and that’s it. When you press a button it cast’s to palyer character and sets Level2Int value. Level blueprint doesn’t get called on button press and so it does’t execute. I made a little sample project to show how to do this. Google Drive link. Take a look at Widgets/LevelSelect, FirstPersonCharacter blueprint and Level Blueprint.

Should I have the level select widget communicate with the player about opening a new level and then changing the position to spawn? Rather than having the widget to communicate with the player which then has to communicate with the level blue print?

If I get what you mean. You can have open level node in player blueprint and then call level blueprint.
Play around with the tutorial project and see what works and what doesn’t. It’s just an example, not saying it’s one and only correct way to do this. You can have it built any way you want as long as it functions.

Will do thanks for your help!

OK found out my problem. My level wasn’t saving the variable. i needed to place the variable inside a game instance.
Took me awhile to figure that out. Thank you for all your help guys!