Step by Step Example #2

Integration in existing content

This is another short example how to integrate the Loading Screen System into an existing project. In this instance we'll use the Realistic Rendering sample from the Launcher. Link: https://docs.unrealengine.com/en-us/Resources/Showcases/RealisticRendering

  1. Add The Loading Screen System to the Project (via Launcher, Migrate or simply by copying the asset folder to the project's "Content" directory)

  2. Create an empty level. This will be our persistent "root" level (needed to work with level streaming which the LSS relies on).

  3. In the Content Browser, got to "/LSS_LoadingScreenSystem/Blueprints/" and drag & drop BP_LSS_Actor into the scene.

  4. Now we need scenes to transition to or between. Add the default scene from Realistic Rendering ("/maps/Room") and the night scene ("/maps/RoomNight") as sublevels to the root level. Note: if you don't see the "Levels" tab, go to "Window" in the top menu and check "Levels".

  5. We also need a scene to be our loading screen / transition map. In this example we'll just use the default "new level" template that comes with UE4. We name it "LoadingScene_Map" and save it. (Don't forget to add it to the root map's "Level" tab).

  6. Next, each level will need its own pawn. Just place a "DefaultPawn" in the "loading level" and a Thirdperson Character in each Room scene. Select each pawn and in its Details search for “Auto Possess”, set it to “Player 0”. (Note: Usually the engine would spawn the pawn set in GameMode at the "Player Start" location, but this isn't a viable option when working with streaming levels).

  7. We're done with the scene setup, now just update the values in the Loading Screen System, so it knows what's what. Select the BP_LSS_Actor in your scene and go to its "Details" Panel. Here, add two elements to "List of Levels" (click the + sign twice). Enter "Room" as the first value and "RoomNight" as the second (the names of the maps we added in 4.) and "LoadingScene_Map" into the "Loading Screen Level" field.

That's it. Now when we play, "Room" will open after a short loading screen (in this instance the level is tiny, the real benefit would come when loading heavier scenes of course).

  1. As we have 2 levels, we also need a way to start a level transition. In this example we'll add a trigger box at each Room's door and set up the Overlap Events to initiate the level transition.

    Use the "LSS Open Level" node, which is a globally accessible node that is added to your project with the Loading Screen System. Just enter the name of the level you want to transition to and you're good to go.

Bonus Round: we replace the Default Pawn in the Loading Screen with yet another Thirdperson Character, so we can run around while the game is loading. Just disable "Cinematic Mode" on the LSS Actor (otherwise input would be blocked).

That's all for this simple example. The system has a lot more to offer of course.

Last updated

Was this helpful?