Latest news
Tips & GuidesUnreal Engine

Unreal Engine World Partition Guide: Organize Large Maps with Data Layers

Unreal Engine’s World Partition system can divide large worlds into grid cells and load them based on streaming sources. This guide covers organizing scenes with Data Layers and converting existing levels.

Wide-angle visualization showing different environmental areas of a large architectural campus sceneAI image
Representative image, generated with AI.Image: 3dsınıfı / FCA AI

In brief

  1. World Partition keeps a world in a single persistent level and divides it into loadable grid cells.
  2. Data Layers let you group Actors for editing in the editor and loading at runtime.
  3. The map must have World Partition enabled to use Data Layers.
  4. Epic’s documentation does not specify a version number; one example command-line path references a UE_5.1 folder.

The World Partition and Data Layers workflow described in Unreal Engine’s official documentation is designed to organize large levels and load them in parts at runtime. The system keeps the world in a single persistent level file while dividing it into grid cells; cell loading is determined by the locations of streaming sources. Data Layers, in turn, are used to organize Actors in the editor or enable and disable them at runtime. Epic’s documentation does not specify a particular Unreal Engine version; one example command-line directory points to a UE_5.1 folder.

1. Set up the World Partition structure first

World Partition is described as an automatic data management and distance-based level streaming system that reduces the need to manually split a large map into sublevels. The world is divided into cells; cells near a streaming source, such as the player, can be loaded while those no longer needed can be unloaded. The goal is to load only the parts of the map that are visible or being interacted with at runtime.

When creating a new level, you can use the Open World map type. According to the official documentation, this template enables World Partition, One File Per Actor, Data Layers, and Hierarchical Levels of Detail by default. Existing levels can be converted via Tools > Convert Level or with the World Partition Convert Commandlet. Because conversion can affect the project and level, it is important to preserve source files beforehand and carry out the conversion carefully.

An example command-line format is:

Prompt
UnrealEditor.exe QAGame -run=WorldPartitionConvertCommandlet Playground.umap -AllowCommandletRendering

The documentation also lists options such as -ReportOnly for conversion. This option reports what the process would do without converting anything. -ConversionSuffix can add _WP to the converted map for testing. There is also a -DeleteSourceLevels option that deletes source levels after conversion, so choose the arguments carefully based on the project’s needs.

2. Understand cell loading and streaming sources

Whether an Actor is loaded is determined by the Is Spatially Loaded setting in the World Partition section of the Details panel. If enabled, the Actor loads when it enters the range of a streaming source, unless it is assigned to a disabled Data Layer. If disabled, it loads regardless of spatial range, unless it is assigned to a disabled Data Layer.

The Player Controller can be used as a streaming source by default. You can also add a World Partition Streaming Source component to the scene. Its options include the target grid, priority, and whether cells should be set to Loaded or Activated. If a cell falls within the range of multiple streaming sources, priority and target state come into play.

SettingSuggested valueEffect
Cell SizeExample in the documentation: 256 m × 256 m × 256 mDetermines the size of the cells used to create streaming levels.
Loading RangeExample in the documentation: 768 m radiusDetermines the range around a streaming source within which cells are loaded.
Number of Runtime GridsThe documentation notes that multiple grids can negatively affect performance; it does not give a fixed recommendation.Affects cell loading at runtime.

The distances and cell sizes in the table are example values from the documentation, not fixed recommendations for every project. Actual settings should be tested against the scene’s scale and content structure. The editor’s loading behavior also differs from runtime: when a large world is opened, the editor does not initially load the entire world; Actors with Is Spatially Loaded disabled are loaded.

3. Group content with Data Layers

World Partition must be enabled on the map to use Data Layers. The system distinguishes between two types of assets: a Data Layer Asset contains data that can be used at the project level and across different worlds, while a Data Layer Instance contains properties specific to a particular world. An Asset can be used in different worlds through separate Instances.

To create a new Data Layer Asset, go to the target folder in the Content Browser and select Miscellaneous > Data Layer. Then, in the Window > World Partition > Data Layer Outliner window, right-click and use Create New Data Layer to create an Instance, then assign the Asset to it. To add Actors, select the relevant Actors in the Outliner and use Add Selected Actors to Selected Data Layers on the target Instance. You can also make the same assignment in the Data Layers section of the selected Actors’ Details panel.

The Asset type can be set to Editor or Runtime. Editor Data Layers can be used to organize content within a project and load or unload it in the editor. Runtime Data Layers can be changed at runtime via Blueprint or C++. For example, different scene states can be kept in separate layers, though this kind of organization should be designed to suit the project’s needs. Loading a large amount of content at once can cause performance issues. Also, assigning frequently used Actors to too many Runtime Data Layer Instances can reduce World Partition streaming performance.

4. What changes in an architectural visualization workflow?

For a large environment or building visualization, World Partition can be used to manage relevant cells instead of loading the entire scene at once. Data Layers can help separate environment elements and different content groups in the editor. This approach can be especially useful for helping team members working in the same world focus on specific components. By storing Actors in separate files, One File Per Actor aims to reduce some of the obstacles associated with sharing a level file in team workflows.

Before getting started, check whether World Partition is enabled on the map; Data Layers alone do not meet this requirement. If converting a level, preserve the source map first and review options that do not perform a conversion, such as -ReportOnly. When evaluating streaming settings, do not treat the documentation’s cell size and loading range examples as definitive prescriptions. Epic’s sources do not provide information about specific hardware requirements or licensing conditions. Hardware suitability and project licensing should therefore be checked separately for the installation being used.

Common mistakes

  • Trying to use Data Layers on a map where World Partition is not enabled.

  • Treating the example cell size and loading range in the documentation as fixed recommendations for every scene.

  • Loading too much content at once or assigning commonly used Actors to an excessive number of Runtime Data Layer Instances.

  • Running conversion options, particularly arguments that can delete source levels, without checking their effects.

Sources

2 sources
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/world-partition---data-layers-in-unreal-engine
Summary
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/world-partition-in-unreal-engine
Summary

Source texts are not republished; short quotes are marked, everything else is our own summary and commentary.

3dsınıfı’s take
3dEditor’s assessment

For architecture and visualization firms in Turkey, the practical value of World Partition lies in its ability to break large scenes into manageable sections and help team members focus on specific groups of Actors. Data Layers offer a useful structure for teams looking to keep environment elements and alternative content organized.

However, the sources provide no information about setup costs or required hardware levels; firms need to assess their own project and licensing conditions separately. The points most likely to be overlooked are the World Partition prerequisite, copying cell settings from the examples, and loading too many layers at once. Getting a report before conversion and testing loading behavior in the actual scene make for a safer starting point.

Frequently asked questions

How do you create Unreal Engine Data Layers?

Create a Data Layer Asset by selecting `Miscellaneous > Data Layer` in the Content Browser. Create a new Instance in the Data Layers Outliner, then assign the Asset to that Instance.

How do you add World Partition to an existing level?

According to Epic’s documentation, a level can be converted via `Tools > Convert Level` or by using the World Partition Convert Commandlet. With the commandlet, `-ReportOnly` reports what the process would do without converting anything.

What are Runtime Data Layers used for?

Runtime Data Layers can be changed at runtime using Blueprint or C++. They can be used to load or unload content.

Comments and the forum are in Turkish.Join the discussion
+

Related news