Overriding the playerstart impossible?


im trying to move/spawn my player with saved values when loading the map, im not using PlayerStart and when i play the level in editor it works flawless like this (called from BeginPlay):


However when i load the level from my Main menu with Open Level it will always spawn at 0,0,0 without any hud displaying(?) as soon as i add a PlayerStart everything works EXCEPT that no matter what i do i cant get the player to start at the saved values i tried delay, teleport, SetActorLocation and everything else on playercontroller,playercharacter and pawn nothing will work as long as there is a playerstart in the level.
And yes ive used print string & breakpoints and setactorlocation is getting executed.

Can someone please point me in the right direction?

First of code you showing here should be in GameMode not Level Blueprint. Level Blueprint is for level scripting not game code which should be consistent in all levels

Blueprints only define classes, if you want engine to use your GameMode or PlayerController you need to tell engine to use them, you can do that globaly for game (in Project Settings->Maps and Modes) and in level (World Settings), if you pick custom GameMode, you need to set classes in it’s defaults, GameMode class is a master class that controls your game session (asside of GameInstance) and it setups PlayerControllers and spawn and possesion of Pawns.

If you want to override default spawn system, set DefaultPawn to none and your code should spawn Pawn on specific location and make PlayerController to posses it on BeginPlay

Thanks for your answer, This is really bad news for me with huge blueprints connected to player controller aswell as the character thru casting. Isnt there anyway around this? Why isnt the player moveable AFTER it has been spawned by playerstart?

But you said you not using PlayerStart. PlayerStart does not spawn, it GameMode that spawns pawn on PlayerStart location. Fact you can’t move might be because you calling SetActorLocation on PlayerController (which is also Actor) insted of Pawn that he is possessing, use “Get Pawn” node to get pawn possesed by any Controller

Sorry i might have been unclear NOT using Playerstart makes it spawn exactly where i saved it (as long as i play in editor and not load the level form the menu). Putting it back and using SetActorLocation with pawn will make it spawn in wrong coords (But it’s not at playerstart either) this however have horrbile side effects the biggest one is loosing input controls 50% of the time