World Partition - Data Layers

An introduction to Data Layers and how they can be used in your projects.

Windows
MacOS
Linux

Data Layers are a system within World Partition used for organizing your Actors into separate layers. These layers can be loaded and unloaded to organize your world.

image alt text

Using Data Layers, Actors can be dynamically loaded and unloaded in the Level Editor to help manage complex levels. They can be enabled using Blueprints to drive gameplay and are an important tool for managing asset streaming in a World Partition workflow.

Data Layers serves as a replacement for the previous Layers system found in older versions of Unreal Engine.

With Data Layers, gameplay elements and environment assets can be separated in the Editor. Artists can work on specific elements without interacting with gameplay triggers or objects. Designers can use dynamically loaded layers to design intriguing gameplay and elaborate level transitions.

Adding Actors to Data Layers

Data Layer Outliner

To view all the Data Layers in your world, go to the Window menu and select the Data Layers option. This will open the Data Layers Outliner.

image alt text

Number

Description

1

Toggles the visibility of the layer in the Level Editor. An Actor will be hidden only if all of its associated Data Layers are hidden.

2

Indicates the status of the Is Dynamically Loaded flag. Dynamically loaded layers affect Actor loading at runtime. Activation of these layers can be done using Blueprint or C++ code.

3

Toggles the Editor Dynamically Loaded flag. In the Level Editor, an Actor will be loaded if any of its Data Layers are enabled and the editor cell is loaded in World Partition.

4

Toggles visibility for list of Actors in this layer

5

Determines if the Data Layer is visible in the Editor at startup.

6

Determines if HLODs should be generated for Actors in this Data Layer. Only available if Is Dynamically Loaded flag is enabled.

7

Determines whether a Data Layer with theIs Dynamically Loaded flag enabled should be loaded, unloaded, or activated at runtime.

8

Determines whether the Data Layer affects Actors' runtime loading.

Right-clicking the Data Layer Outliner will open the contextual menu.

image alt text

Selection

Description

Create Empty Data Layer

Creates a new, empty Data Layer

Add Selected Actors to New Data Layer

Creates a new Data Layer and populates it with the selected Actors

Add Selected Actors to Selected Data Layer

Adds the Actors selected in the viewport to the selected Data Layer.

Remove Selected Actors from Selected Data Layer

Removes the Actors selected in the viewport from the selected Data Layer.

Delete Selected Data Layer

Deletes the selected Data Layer. This does not affect the Actors associated with the deleted Data Layer.

Rename Selected Data Layer

Renames the selected Data Layer. This does not affect the Actors associated with the deleted Data Layer.

Select Actors in Data Layers

Selects all the Actors associated with the selected Data Layer.

Append Actors in Data Layer to Selection

Adds the Actors from the selected Data Layer to the current selection.

Deselect Actors in Data Layer

Removes the Actors from the selected Data Layer from the current selection.

Make All Data Layers Visible

Toggles the visibility of all Data Layers to be visible in the Level Editor.

Once a new Data Layer is created, you can add Actors to it in a few different ways:

  • Using the Add Selected Actors to New Data Layer and Add Selected Actors to Selected Data Layer options in the Data Layers contextual menu.

  • Dragging selected Actors from the World Outliner on to the chosen Data Layer in the Data Layer Outliner.

  • Using the Data Layers section of the Actor's Details panel.

Actor Details Panel

An Actor can be added to one or more Data Layers using the Data Layers section of the Details panel.

image alt text

To add an Actor to a Data Layer using the Details panel, follow these steps:

  1. Scroll to the bottom of the Details panel and open the Data Layers section.

    image alt text

  2. Next, click the + button to add an entry to the Data Layers list.

    image alt text

  3. Open the dropdown menu and select a Data Layer from the list.

    image alt text

You can also drag and drop Data Layers from the Data Layers Outliner to the list in the Details panel.

Showing Data Layers in the Viewport

You can show and hide specific Data Layers using the Show menu in the Viewport

image alt text

Showing or hiding a Data Layer using this option will only affect the current Viewport.

Managing Files

Keeping with the World Partition system's goal of minimizing file overlap between users, Data Layers reduce the need for users to check out important files, such as the world map file or Actor files, when changes are made.

Each Data Layer has a display label and an internal unique identifier. Unreal Engine stores this information in a list of Data Layers in the WorldDataLayer file which provides the following benefits:

  • Assigning Data Layers to an Actor only affects that Actor's file In a World Partition world using One File Per Actor.

  • Renaming a Data Layer only affects its associated label. There is no need to update any Actors associated with the layer.

  • Deleting a Data Layer only affects the WorldDataLayer file. Actors previously associated with the deleted Data Layer are automatically cleaned up with no need to modify or save the Actor.

Using Data Layers with Blueprints

Blueprints can be used to change the state of a Data Layer.

In the image below, a trigger box is used to control the state of a Data Layer.

image alt text

In the example, the Data Layer's state is modified in the following way:

  1. The player enters or exits the trigger area.

  2. This triggers the Set Data Layer State function node which changes the Data Layer state to either the Begin Overlap State or the End Overlap State.

The Data Layer variable (number three in the image above) is exposed using a variable of the Actor Data Layer type.

It is possible to set a Data Layer's state using it's label, rather than a variable. However, this is not recommended since renaming a Data Layer changes its label and could break the Blueprint.

Converting from Previous Layer System

When converting a world to World Partition, layers from the previous Layer system will be converted to Data Layers with the Dynamically Loaded option disabled.