Choosing Between World Partition and Level Streaming in Unreal Engine 5
A decision guide comparing World Partition and Level Streaming in Unreal Engine 5, covering memory, workflow, multiplayer replication, and source control constraints with concrete validation steps.
31 Aug 2026, 22:50 UTC

The Decision You're Facing
If you're starting a large open-world project in Unreal Engine 5, you need to decide how to manage world data: stick with the legacy Level Streaming system or adopt World Partition. This isn't a preference choice—it's an architectural commitment that affects memory budgets, team collaboration, multiplayer replication, and your content pipeline for the life of the project. World Partition is the default for new UE5 projects, but Level Streaming still exists for backward compatibility. The right call depends on your engine version constraints, team size, source control, and whether you're shipping multiplayer.
Constraints That Narrow the Choice
- Engine version: World Partition requires UE 5.0+. If you're maintaining a UE 4.x codebase, Level Streaming is your only option.
- Source control: World Partition's One File Per Actor (OFPA) system works reliably with Perforce or Plastic SCM. Git LFS struggles with thousands of tiny actor files—expect merge conflicts and slow clones.
- Team workflow: OFPA lets multiple artists edit different actors in the same region simultaneously. Level Streaming locks entire sub-levels on checkout.
- Multiplayer architecture: World Partition uses spatial relevance grids for network replication. Level Streaming relies on level visibility and manual net relevance settings.
- Migration direction: Converting Level Streaming → World Partition is automated (one-way). Reverting requires manual reconstruction.
Side-by-Side Comparison
| Capability | World Partition (UE5+) | Level Streaming (UE4/UE5) |
|---|---|---|
| World structure | Single persistent level with automatic grid cells | Manual sub-levels + streaming volumes |
| Loading trigger | Distance-based radii (configurable per cell) | Trigger volumes or Blueprint logic |
| HLOD generation | Built-in HLOD Builder, automatic per cell | Manual setup per sub-level |
| Collaborative editing | OFPA—actor-level checkout | Sub-level locking |
| Runtime variants | Data Layers (toggle world states in-place) | Separate sub-levels per variant |
| Network replication | Spatial relevance grid (cell size, loading range) | Level visibility + manual net relevance |
| Storage profile | Thousands of small actor files (OFPA) | Fewer, larger sub-level packages |
| Legacy support | UE 5.0+ only | UE 4.x through UE5 |
Trade-offs That Matter in Production
Memory and Streaming Performance
World Partition loads cells based on a configurable radius around the player (or camera). The default LoadingRange and LoadingCellSize settings work for many projects, but on a 16 km² map with dense foliage, you'll see frame hitches when cells stream in on mechanical drives. Profile with stat streaming and stat worldpartition in PIE—look for StreamingTime spikes above 16 ms. Level Streaming gives you explicit control via volumes, so you can preload the next zone during a cinematic or elevator ride, but you own the logic.
HLOD Build Time
World Partition's HLOD Builder processes the entire world in one pass. On a 4 km² landscape with 50k actors, expect 2–6 hours of bake time on a 32-core workstation. Schedule this in your nightly pipeline. Level Streaming lets you build HLODs per sub-level incrementally, which fits better into iterative workflows but requires manual LOD transition setup.
Multiplayer Replication
World Partition's spatial relevance grid replicates actors only to clients whose relevance cells overlap. The critical settings are NetRelevanceGridCellSize and NetRelevanceLoadingRange in WorldPartitionRuntimeSettings. Defaults (1 km cell, 2 km range) over-replicate on dense maps—test with Net.DebugRelevance 1 on two clients to visualize the grid. Level Streaming replicates by level visibility; you manually tag actors bAlwaysRelevant or use NetUpdateFrequency tuning. More control, more boilerplate.
Blueprint References Across Unloaded Cells
This catches everyone once. In World Partition, a Blueprint holding a hard reference to an actor in an unloaded cell returns null. Use Soft Object References (TSoftObjectPtr or SoftObjectPath) and load asynchronously with LoadAssetBlocking or StreamableManager. Level Streaming has the same issue but it's more obvious because you know which sub-level is loaded.
Concrete Validation: Prove the Setup Works
Run this checklist in a fresh UE 5.3+ project before committing your team to World Partition.
1. Enable World Partition and Visualize the Grid
# In Project Settings → World Partition:
# Enable "World Partition" checkbox
# Set Runtime Settings → Loading Cell Size = 100000 (1 km)
# Set Runtime Settings → Loading Range = 200000 (2 km)
# Open the World Partition Editor (Window → World Partition)
# Click "Show Grid" to see cell boundaries in the viewport
Where to run: Unreal Editor, any project with Editor privileges. Expected check: Grid cells appear as colored outlines in the viewport; cell size matches your setting. Risk: None—this is read-only visualization.
2. Profile Cell Load/Unload in PIE
# In PIE (Play In Editor), open the console (`) and run:
stat streaming
stat worldpartition
# Move the player across cell boundaries
# Watch StreamingTime and WorldPartition.LoadTime counters
Where to run: PIE session. Expected check: StreamingTime stays under 16 ms per frame on target hardware. Risk: Profiling overhead slightly inflates numbers; test in a packaged build for final numbers.
3. Test Multiplayer Relevance Grid
# Launch two clients (New Editor Window PIE × 2)
# On both, run in console:
Net.DebugRelevance 1
# Observe colored spheres around each client showing relevance cells
# Adjust WorldPartitionRuntimeSettings → NetRelevanceGridCellSize if overlap is excessive
Where to run: Multiplayer PIE (2+ players). Requires NetMode set to PlayAsListenServer or dedicated server. Expected check: Actors replicate only when inside the relevance grid. Risk: Debug drawing impacts frame rate; disable after verification.
4. Verify OFPA Workflow with Perforce
# In Perforce (P4V or command line):
# 1. Sync the project
# 2. Open a level, move a single StaticMeshActor
# 3. Save → only that actor's .uasset file shows as checked out
# 4. Submit
# 5. On another workstation: sync → only that file downloads
Where to run: Perforce depot with UE project. Requires write access to the stream. Expected check: Changelist contains one actor file, not the entire level. Risk: If Git LFS is used, expect thousands of files per level—test clone time before committing.
5. Benchmark HLOD Build
# Window → World Partition → HLOD Builder
# Set "HLOD Layer Count" = 3, "Merge Actors" = true
# Click "Build HLODs" for a 4 km² test landscape
# Record wall-clock time and peak memory
Where to run: Editor, preferably on a build machine. Expected check: Build completes without OOM; output HLOD actors appear in World Partition → HLODs folder. Risk: Build modifies project content—run on a branch or with shelved changes.
Limitations and When to Reconsider
- Git-only teams: OFPA creates ~1 file per actor. A 10 km² world with 200k actors means 200k files. Git LFS clone times exceed 30 minutes. Stick with Level Streaming or migrate to Perforce/Plastic.
- Procedural runtime worlds: World Partition assumes a baked spatial hierarchy. If you generate terrain at runtime, Level Streaming's manual control or a custom streaming system fits better.
- UE 4.x maintenance branches: World Partition doesn't backport. Level Streaming is your only path.
- Legacy streaming volumes in content: World Partition ignores
LevelStreamingVolumeactors at runtime. They won't break, but they won't work either—clean them up after conversion.
Practical Verification Checklist
Before greenlighting World Partition for production, confirm:
- PIE streaming stats stay under frame budget on minimum-spec hardware.
- Multiplayer relevance grid matches your replication needs (test with 4+ clients).
- OFPA checkout/sync cycle completes in under 30 seconds for a single actor change.
- HLOD build fits your nightly pipeline window.
- All cross-cell Blueprint references use Soft Object References.
If any check fails, document the mitigation or revert to Level Streaming for that milestone. The converter is one-way—treat the decision as irreversible for the project's lifetime.