Level Loading


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.

Title screen / flythrough demo / attract screen


Initial loading map

Open a map with console argument that swaps the game mode

ChronoGameMode_Attract


All this does is opens the attract screen UMG. There is a library function that checks game mode type - player hides itself for example

Need a way to load into a level in flythrough mode + title screen.

Sequencer is fine for authoring flythrough, but how do we let the map know we are in that mode?

  • Could open an instance of desert and pass some sort of param? What happens?
    • No bueno
  • Could open desert with a different game mode
    • Promising. I think for now we need to pass in a game mode that spawns the player n shit cause a lot of things are dependent on them.
    • Game mode boots before level is loaded, so we might need to do some trickery
      • Could have a simple level actor that contains the flythrough, on begin play checks if the game mode is “demo” or whatever, then send it.

AttactScreenGameMode

  • Based on ChronoGameMode
  • Make a function for checking game mode stuff
    • Normal game
    • Attract screen
  • Player hides self (use function)
  • Opens UMG_AttractScreen
    • Probably can copy from xing? take a look!
    • Handles input
      • Any key / any button
      • Fade out
        • Load DesertDemoTutorial (it handles saves n shit!)