Change playerstart's location before load level?

I have two levels : MainMenu and GameLand, and GameInstanceTest, SaveGameTest,GameModeTest.

What I Want to do is,

  1. In MainMenu, when LoadGame button Clicked, check if I have SaveGameTest
  2. if I have SaveGameTest, get PlayerLocation_Save from that.
  3. apply it to PlayerStart’s location ( PlayerStart is in GameLand, not the MainMenu )
  4. Open GameLand level and spawn character at playerstart which is changed

I did many way to solve it, use SaveGame, Levelblueprint, GameInstance

but I cannot change playerstart’s location before load GameLand.
If I change it after the load, I doesn’t make spawn character at changed playerstart.

please help me !

I would try overriding the ChoosePlayerStart function in your game mode blueprint. That function will run when the player is created. Do your load PlayerLocation_Save logic there. The output is an actor, so I would spawn a temp actor (a Player Start, an empty actor, anything really) at the PlayerLocation_Save and output the actor. You can then destroy the temp actor afterwards.

You also have the FindPlayerStart function that would be called if you reset the player when the level is already loaded.

Don’t try and change the player start location. Just read the location from the save game and spawn the player at that location.

You’re awesome! Character spawn at where I want !
But I have another problem that two characters spawns : one at playerstart , one at where I want.
Should I delete playerstart?

Change your SpawnActor with a Player Start. If your already have your default player controller and pawn set in your game mode, it should automatically try to spawn your player.

why camera is fixed at 0,0,0? I think when I set ‘None’, I lose my character eventhough there’s a spawned character.

How can I spawn character at specific location? I try to do that but always spawn character at playerstart, not the location what I want.

Menu looks like this:

328449-screenshot-1.jpg

Level BP in GameLand:

Grab your player character actor and use the Possess function then connect the player controller.

I didn’t check the gamemode funtion. as you said, there’re useful functions.
I 'm gonna try give shape with them. Thanks a lot!

The character doesn’t spawn. what’s the problem?
Camera is fixed at location 0 0 0

Yes, you can do that, or change the world settings for that level to get rid of the default pawn:

328429-screenshot-9.jpg

I use get player controller and connect to owner. but still not functional

It still doesn’t work , Im sorry to bother you

328472-screenshot-10.jpg

Did you set your controller to posses the new pawn?

Now It Works!
I couldn’t have done it without you. Thanks!

Use the ChoosePlayerStart when loading into a new level. The FindPlayerStart is called when you restart the player.