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.
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.