Packed Level Actors (PLAs) are part of Unreal Engine’s Level Instancing system, introduced in UE5, designed to make large-scale world building more efficient.
They reference a separate level and package its static mesh geometry into a single, optimized actor that can be placed multiple times in other levels.
What Are Packed Level Actors?
Purpose: Optimized for static world-building elements — buildings, large props, dense geometry clusters.
Static Mesh Only: Unlike regular Level Instances, PLAs only contain static meshes (no skeletal meshes, particle systems, or dynamic actors).
Performance-Oriented: Uses Instanced Static Mesh (ISM) and Hierarchical Instanced Static Mesh (HISM) components to batch identical meshes, reducing draw calls.
World Partition Support: Integrates with UE’s One File Per Actor (OFPA) and World Partition systems for efficient asset streaming.
Nanite-Ready: Works seamlessly with Nanite for high-poly meshes, minimizing performance costs.
Why Use Them?
Efficiency: Large, dense worlds can run at higher frame rates compared to placing each mesh as a separate actor.
Reusability: Place the same structure multiple times without duplicating mesh data.
Modular World Building: Build assemblies once, reuse them anywhere.
Nested Instances: A PLA can contain other PLAs
Use Packed Level Actors when you need static, repeatable, performance-optimized geometry in your levels. For most world building, this should be the go to choice. Break them or convert to regular blueprints only when interactivity, animation, or one-off changes are required.
Assets provided by Kitbash3D will be as Packed Level Actors by default, we recommend this in most cases, but choose the method that best suits your project!
How to Create a Packed Level Actor
Select the static mesh actors you want to combine.
Right-click → Level → Create Packed Level Actor.
Save the resulting Blueprint and its associated level file.
Place instances of the PLA anywhere in your world.
(Reference: Epic Docs – Level Instancing)
Editing a Packed Level Blueprint
In-Context Editing (Viewport or Outliner)
Right-click the PLA → Level → Edit.
This opens an isolated view of the referenced level so you can adjust meshes directly.
Changes are global — all instances update.
Limitations
No per-instance mesh edits unless you use UE5.5+ experimental overrides.
Blueprint Editor view is not ideal for editing (all meshes appear flattened into generic ISM components).
Breaking a Packed Level Actor
If you need to make a PLA’s meshes interactive or animated:
Right-click → Level → Break.
Set Depth to control whether nested PLBs are also broken.
Optionally disable Keep Folders to avoid clutter.
After breaking, all meshes become regular static mesh actors in your level.
Pros:
Full freedom to move, animate, or add physics to geometry.
Cons:
No instancing → less efficient for performance.
Organization After Breaking:
Clean up any undeeded “geo” or “mtl” parent actors.
Flatten meshes into folders for easy selection, or parent to empty actors
Workflow Tips
When to Use PLAs:
Best for static, repeated geometry where performance is critical.
Large Levels with repeating structures/geometry assemblies
Dense nanite meshes that benefit from instancing
Avoid breaking unless interaction or unique edits are required.
When NOT to Use PLAs
Single-use, unique geometry: No benefit from instancing
Frequently modified content: Breaking and recreating PLAs is inefficient
Animated or interactive elements: PLAs are for static content only
Very small, simple meshes: Overhead may outweigh benefits
Performance Diminishing Returns
Fewer than 3-5 instances of a PLA in your level
Assets with minimal geometry (instancing overhead > benefits)
Highly unique, non-repeating scene elements
Converting to Traditional Blueprints:
If you’d like to use traditional blueprints, it’s simple to convert provided PLAs after breaking the provided Blueprints.
Select static meshes → Convert Selection to Blueprint Class for prefab-style grouping.
Less efficient, but useful for animated sets or scripted behavior.
Pros & Cons by Method
Packed Level Blueprint
Pros
Highest performance for static meshes.
Global updates — edits to the source level apply to all instances.
Ideal for repeated, non-interactive geometry.
Works seamlessly with Nanite and World Partition.
Cons
Cannot include dynamic or interactive actors.
Limited per-instance customization (only available with UE5.5+ experimental overrides).
Traditional Blueprint Actors
Pros
Supports all actor types, not just static meshes.
Global updates to all instances.
More flexible for mixed scene content.
Can be given gameplay/blueprint functions like animation or light actors
Cons
Less performance-optimized than PLAs for heavy static geometry.
Does not benefit from ISM/HISM batching like PLAs.
Not editable in context, cannot unpack in level
Static Mesh Actors
Pros
Full editing freedom per instance.
Supports interaction, animation, and physics simulation.
No link to a master asset — completely independent.
Cons
No instancing — significantly higher draw calls.
Requires manual organization and grouping for reuse.
Less efficient for large-scale scenes.
Advanced Workflows
Nested PLA Hierarchies
PLAs can contain other PLAs for complex assemblies
Useful for city blocks containing multiple building PLAs (combining multiple buildings from Cargo into a larger PLA like a city block)
Keep nesting depth reasonable (max 2-3 levels) for performance
Document your hierarchy structure for team collaboration
World Partition Integration
PLAs work seamlessly with World Partition streaming
It is recommended to use PLAs with OFPA (one file per actor) to improve asset streaming performance
Particularly effective for large open-world environments
Use appropriate streaming distance settings
Keep PLA sizes within one streaming grid unit, as they cannot partially load
Version Control Considerations
PLA blueprints and their source levels should be committed together
Consider branching strategy for major PLA modifications
Test PLA changes thoroughly before merging, making sure changes in the source levels propagated correctly to the actors
Additional Resources
Troubleshooting Common Issues
Performance Issues
Be sure to profile your scene using the available tools in Unreal, and verify where the highest costs to performance are. If you have a high number of draw calls, or a high Base Pass cost, it may be related to how PLAs are being used
PLAs Not Improving Performance
Verify assets are actually using Instanced Static Mesh components (check in Details panel)
Ensure multiple instances of the same PLA exist in your level
Check that identical meshes within the PLA are being batched properly (Grouped Instanced static meshes)
Monitor draw calls in “Stat Drawcount” command, or Viewport Options Stat→Engine→Drawcount
Memory Usage Higher Than Expected
Large textures in PLAs affect memory more than individual meshes
Consider texture streaming settings for PLA content
Use Nanite on high-poly meshes to reduce memory overhead
Monitor memory usage with Stat Memory console command
Version Compatibility and Requirements
All versions of Unreal currently supported by Cargo will utilize PLAs during import. Later versions include additional features and improvements
Unreal Engine Version Support
PLAs: Available in UE 5.2 and later
Advanced PLA Features: UE 5.2+ (per-instance overrides experimental in 5.5+)
Changes by Version
UE 5.3: Actor filter feature added to PLAs
UE 5.4+: Updates only affect ISM components and allows overrides and scripts to persist
UE 5.5+: Experimental feature support to allow property overrides on actors, allowing more “prefab-like” behavior