now drag off the cast and cast to (insert game instance name here). drag off the object pin and search for get game instance. now drag off the other blue pin it will say “as ____” and search for the variable you created in the game instance (levelplayerlocation) select the one that says set before it. now you have a set node drag off the left most yellow pin on the set node and search for get actor location. then drag off the target and search get player character. now drag off the set node exe pin and search open level. in the level name box type in the level you want to open. go back to the main editor window and drag this actor into the level.
now we need to go to the level blueprint of the target level. to do this open the level you are moving to then click the blueprints icon just above the viewport and select the open level blueprint option. right click on the graph and search for beginPlay. drag off the begin play node and search for cast to (game instance name here). drag off the object pin and search get game instance. then drag off the “as (Gameinstance)” pin on the cast and search for your variable (levelplayerlocation) again but this time you want the one that says get. now right click on the graph again and search for get player character. drag off the blue return value on the player character node and search set actor location. connect the cast to the set actor location node and connect the variable to the new location. and your done.
the previous step could also be done on the character but it could cause issues when respawning
refer to the following pictures. it sounds harder than it is.