World Partition in Unreal Engine 5.5
Introduction
- Building large maps traditionally required manual division into sublevels and level streaming.
- Challenges included sharing files and viewing the world context.
- World Partition automates data management and streaming, removing the need for sublevels.
- Worlds are stored in a single persistent level, divided into grid cells for streaming.
Key Features
- Automatic Streaming: Loads and unloads cells based on distance from the streaming source.
- Works with features like:
- One File Per Actor
- Data Layers
- Level Instancing
- Hierarchical Levels of Detail
Enabling World Partition
Options:
- Creating New Project: Use the Games template.
- Open World Template: Default for large open-world maps.
- Convert Existing Levels: Use tools or commandline for conversion.
Creating via Games Template
- Default enabled in Games templates.
- Streaming can be toggled in World Settings.
Open World Default Map
- Comes with essential features enabled (e.g., World Partition, Data Layers).
- Sample 2 km x 2 km landscape provided.
Converting Existing Levels
- Use Convert Level menu or commandlet for conversion.
- Command structure:
UnrealEditor.exe -run=WorldPartitionConvertCommandlet
- Optional arguments available for customization.
Actors in World Partition
- Automatically assigned to grid cells based on settings.
- Individual files for changes, no need to check out Level file.
- Streaming based on actor references.
Streaming Sources
- Player Controllers and other components can act as streaming sources.
- Custom streaming sources can be added.
Runtime Grid Settings
- Determines grid cell loading/unloading.
- Located in World Settings' World Partition Setup.
- Default 2D Runtime Hash grid.
Loading/Unloading Regions
Using World Partition Window
- Manually select and load regions in the Editor.
Using Location Volumes
- Add volumes in the level to represent map regions.
Minimap Generation
- Use Build Minimap option or commandlet to generate.
- Enable Virtual Textures if Minimap doesn't appear.
Shortcuts/Options
- Hotkeys for snapping selection, moving camera, and loading regions.
Hierarchical Levels of Detail (HLODs)
- Built using Build HLODs option or commandlet.
- Creates HLOD Actors for World Partition cells.
Cooking World Partition World
- Use Cook commandlet for packaging.
- Command:
UnrealEditor.exe -run=cook -targetplatform=WindowsNoEditor
Using World Partition with Blueprint
- Supports both Blueprint Classes and Level Blueprints.
- Blueprint Classes preferred for Always Loaded actors.
Debugging and Runtime Overrides
- Console commands available for debugging.
- Examples include toggling runtime hash display, setting loading ranges, and showing without HLODs.
Builder Commandlets
- Automate processes like HLOD and AI Nav Data generation.
- Avoids the need to load large worlds for certain operations.
For more information, refer to Epic Developer Community on World Partition in Unreal Engine 5.5.