Pack Content: compact map storage
English | French version
The generator automatically adds the module's MapDataContainer to Env/Props, then assigns its 3D instance parents before packing:
Env/Props, Env/Cliffs, Env/Bridges and Players/Nature;
- other parents containing instances identified by
GeneratedPrefabSource, including the border parent and custom groups.
Packing runs after model placement, bridge placement and altitude application. It stays enabled when Enable Props Generation is disabled: cliffs, bridges and resources may still be present.
What is stored
Pack Content stores prefab/material asset references, supported hierarchy variants and a compressed placement block. Positions, rotations, scales and colors retain their float values without rounding. Names, child layers, active states, materials, LODs and grass root colors are preserved. Colliders are reconstructed from unchanged prefabs.
Visible models are reconstructed when the scene opens and when the game starts. These preview objects are not saved a second time in the scene or build. Source assets remain shared and unchanged.
In the Editor, reconstructed models retain their source prefab connections, including nested model prefabs. Unpack Content keeps those connections and restores editable ordinary instances. Generated transforms, materials and selected alternatives are instance overrides, retained through scene reload and model reimport.
Packing is deliberately conservative. Objects with gameplay scripts, modified colliders, meshes differing from their prefab, nonpersistent materials or other unsupported state remain stored normally. This also applies to objects referenced by other scene objects. Procedural ground and water meshes continue to use their existing storage system.
Total savings depend on the map's balance of repeated prefabs and unique meshes. The component counter shows the number of stored models and compressed block size; that size excludes variant metadata and terrain.
Editing a packed map
The Inspector first shows Editable scene objects, Packed content, or Mixed selection for multiple selection. Stored instance count and Placement block describe packed content; the displayed size is not the total scene size. The main action becomes Unpack Content when all selected components are packed.
3D instance parents lists parents with buttons to locate them in the Hierarchy. Empty or duplicate rows are reported without changing the list automatically. The list is locked while any selected component is packed. Rendering contains the GPU setting, separate from disk storage. Runtime diagnostics counters refer to the last camera processed by this component during gameplay. How to use explains the steps and opens this guide.
- Select
Env/Props, then MapDataContainer.
- Click Unpack Content (make editable) to restore ordinary objects.
- Edit objects or the parent list.
- Click Pack Content, then save the scene.
Packed preview components are locked to prevent edits that would not be saved to the block. Their GameObject roots stay active and do not receive the NotEditable flag; a locked preview must not be mistaken for a disabled tree. Unpack Content restores component editability. Before changing a source prefab's hierarchy, unpack the map; alternatively, regenerate the map after modifying the prefab. If a reference or packed content becomes unreadable, stored data is retained and unpacking fails without deleting it.
GPU instancing controls rendering of eligible decorations only. Cliffs retain their physical objects. Bridges always keep ordinary renderers and are excluded from GPU batches, including after packing and reconstruction. Disk compaction still applies to compatible bridge prefabs. Disabling instancing does not unpack the scene: ordinary renderers take over. During runtime generation, live objects are retained and only GPU batches are captured; disk compaction applies to maps created in the Editor. No MCP connection or external project dependency is required.
For instanced trees, the root and every collider branch stay active. Only pure
visual child branches are deactivated; renderers sharing an object with physics
are disabled individually. Turning GPU rendering off restores their previous
states. World-object visual yaw is retained independently of collider rotation
through packing, scene reload and runtime reconstruction. Different yaw angles
reuse the same mesh and packed model variant. Older packed maps remain readable;
regenerate them to adopt the new placement behavior.
GPU batches activate only in the playing world, including standalone builds. Edit mode and Prefab Mode always use ordinary renderers, even when GPU instancing is enabled or RebuildInstAndGpu() is called directly. Leaving Play Mode restores the authored renderer, LOD and child active states, including with scene and domain reload disabled. To edit packed instances, use Unpack Content; disk packing remains independent of GPU rendering.
English quick guide
The generator adds the included MapDataContainer to Env/Props, registers every
generated prefab parent, then calls Pack Content after final placement and
altitude. This also covers cliffs, bridges and resources when props are disabled.
Editor packing stores shared prefab variants and compressed full-precision
placements. Visible previews and colliders reconstruct on scene load and in
builds. Unsupported modifications, gameplay components and external scene
references retain ordinary saved objects. Procedural terrain remains unchanged.
Use Unpack Content before editing instances or changing prefab hierarchies, then
Pack Content and save. Regenerating a map also refreshes its packed data. GPU
instancing has an ordinary renderer fallback and is independent of disk storage.
The Inspector separates storage status and actions, prefab parents, rendering,
runtime diagnostics and help. Its placement block size excludes prefab metadata
and terrain. Empty or repeated parent rows are reported without automatic edits.
Runtime counters describe this component's latest camera callback only.