Recommendation
Use World Partition for large spatial worlds and automatic distance-based streaming. Use manual level streaming when discrete map packages must load through explicit game logic.
Compare the options
World Partition
Choose when
- The world is large and continuous.
- Streaming follows players or other spatial sources.
- One File Per Actor collaboration and grid cells are useful.
Tradeoffs
- Content must follow World Partition spatial loading and reference rules.
- Data Layers, HLODs, and streaming source settings become part of the world design.
- Blueprint
- Use a World Partition Streaming Source Component and its activation functions.
- C++
- Use UWorldPartitionStreamingSourceComponent and World Partition APIs.
Manual Level Streaming
Choose when
- The project uses established non-partitioned maps.
- Content loads as discrete rooms, scenarios, or authored packages.
- Exact Blueprint or C++ loading control is central to the design.
Tradeoffs
- The project owns boundaries, triggers, load timing, and dependencies.
- Shared sublevel packages can create source control contention.
- Blueprint
- Use Load Stream Level, Unload Stream Level, or Level Streaming Volumes.
- C++
- Use ULevelStreaming and UGameplayStatics::LoadStreamLevel with related streaming APIs.
Requirements
Both systems are built into Engine. World Partition is enabled by default in many game templates.
Example
Use World Partition for an open world streamed around each player. Use explicit streaming for a small hub that loads one self-contained dungeon map after a portal transition.