I’ve started converting my project to support persistent levels and I encountered problems, where after loading a level with LoadStreamLevel BP, the player isn’t spawned in a PlayerStart.
Before I switched to persistent levels, each of my both gameplay maps had its own PlayerStart object and spawned my PlayerCharacter without any problem. Now, after putting everything into one persistent level and loading levels with LoadStreamLevel BP, my PlayerCharacter is spawned in the void, outside of my level and I have no idea what causes this.
I used to transit the PlayerStart object from my gameplay level to MainMenu through Level->Move Selected Actors to Level editor option and it worked once or twice, can’t reproduce that anymore and can’t do it for my second gameplay level. Toggling ShouldBlockOnLoad in LoadStreamLevel doesn’t help. I’m running out of ideas on what to do.
I have my own GameMode, PawnClass, ControllerClass and PlayerState set up both in WorldSettings and in ProjectSettings.
My setup is PersistentLevel → MainMenu → LoadingScreen → ClosedLevel or OpenLevel.
I don’t know why that isn’t working but you could write your own system for it. Since you’re loading the level you have access to the OnComplete. Once it’s complete you could get all player starts, and teleport or spawn your actor yourself to the transform of the player start. In the gameMode you can override the player start based code if needs be, but you probably want to control spawning after the level is loaded else you will just fall through the floor.
I have no idea as well. I’ve downloaded a sample project from one ot the YT UE4 tutors with a persistent level and started playing with PlayerStart objects there, sometimes it worked, sometime it didn’t. In the end I’m reverting to one of the previous project versions and I’ll be skiping peristen levels due lack of time. And since after a day and a half of experimentings I couldn’t find a cause to this problem, I won’t be making an error feedback, so I think this topic can be closed or archived. Thanks for your time and suggestion.
I know this question is several years old, but I ran into the same issue and here is how I solved it. After separating my Persistent Level into Sublevels, I right-clicked on each sublevel and selected Change Streaming Method > Always Loaded. Obviously this disables streaming, but it tells me that if your level containing PlayerStart is not loaded at the time when the game starts that the character will be spawned into the void. Try loading the first level in a construction method?
I keep my PlayerStart on the Persistent Level and stream sublevels in and out as necessary.
Also check your World Settings for “Enable World Origin Rebasing.” Familiarize yourself with that. If your world is large (falls outside the orange square), enable it for PIE and builds. Otherwise disable for editing.
This is in reference to UE4. Hopefully this helps.