LevelStreamingControllerActor needs to be placed in every level. It contains a LevelStreamingController component, that handles loading in all sublevels
Fires OnAllLevelsLoadedAndVisible when all levels are loaded and ready, before the loading screen is popped. Good place for specific level stuff to setup.
After the load screen fades out, it calls MaterializingPlayer, which all the SpawnComponents listen for to see if they should move the player.
OnPlayStart is called when EVERYTHING is done.
Persistent level should have any specific level start scripting.