Stream Sublevels with Level Streaming Volumes

How to use volumes to control the streaming of Levels based on the player's viewpoint.

Choose your operating system:

Windows

macOS

Linux

Level Streaming Scenario

Starting with the main level in the Sun Temple project, we have split the level up into the interior space and the end patio with pillars overlooking the ocean. In the wireframe view below, the teal wireframe shows the persistent interior level, and the yellow wireframe shows the patio level that is going to be streamed in. The sky and ocean are in the persistent level, as there are a few windows in the main temple that allow the sky and exterior to be seen.

LevelSplit.png

In the interior of the temple, there is a bend in the hallway that hides the patio area from view.

StartLoading.png

We want to start streaming in the patio level here, so that by the time the player rounds the corner and begins approaching the patio, the streaming level will be loaded and visible.

StreamingLevelVisible.png

As part of the setup, we have two levels, SunTemple_Persistent and SunTemple_Streaming . Our Player Start is in SunTemple_Persistent , and our player in the game is represented by a Character .

  1. Open SunTemple_Persistent in the Content Browser .

  2. Move the Player Start to the very beginning of the temple.

    PlayerStart.png

  3. Click on Windows , then select Levels .

    WindowLevels.png

  4. Click on the Levels dropdown menu, then select Add Existing... to add a new sublevel.

    AddExisting.png

  5. Select SunTemple_Streaming to add in the Open Level dialog, then click on Open .

    SunTempleStreaming_Select.png

  6. Right-click on Persistent Level and select Make Current from the dropdown menu.

Streaming In Levels with Volumes

  1. In the Place Actors panel, select the Volumes tab and then drag a Level Streaming Volume into your level.

    LevelStreamingVolumeModes.png

  2. Arrange the Level Streaming Volume to encompass the whole walkable area of SunTemple_Streaming . LSVPlacement.png

    Keep in mind that the logic for Level Streaming Volumes tracks where your active camera is, so if you have a camera placed at a distance from your player's Pawn or Character, you may need to adjust the size and placement of the Level Streaming Volume accordingly.

  3. Click on Windows , then select Levels .

    WindowLevels.png

  4. Select SunTemple_Streaming , then click on the Level Details icon.

    LevelDetails.png

  5. Next to Streaming Volumes , click on the plus sign ( + ) to add a new volume. Then, use the dropdown menu or the eyedropper to select the Level Streaming Volume you just placed in the level. AddLSV.png

  6. Ensure that the Initially Loaded and Initially Visible checkboxes are unchecked, then close the Level Details panel.

  7. Back in the Viewport , select the Level Streaming Volume . In the Details panel, set the following properties of the volume: Editor Pre Vis Only and Disabled should be unchecked, and Streaming Usage should be set to SVB Visibility Blocking on Load .

    LSVSettings.png

  8. Use Play in Editor to test out your streaming level.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss