1. Purpose
The save system preserves the full runtime state of a BP_DiggableArea, including:
- Terrain deformation
- Visual dig mask
- Spawned/expoxed underground items
- Volume identity
After loading, the volume must visualli and logically match the saved data.
2. Data Structure
All area data is stored inside FDiggableVolumeSaveData
2.1 Stored Fields
Volume identity
- volumeID (String )→ Unique identifier to match saved data with the correct BP_DiggableArea instance**.**
Terrain State
- savedDensityField (TArray<float>) → Stores voxel density values (solid vs air).
- savedDigMask (TArray<float>) → Stores dig mask values used for visual feedback and surface coloring.
- savedUndergroundItemIds (TArray<int32>) → Stores the item type assigned to each voxel cell.
Exposed Items
- exposedItems (TArray<FSpawnedItemSave>)
- itemTypeId → Index into undergroundItems
- location → World position
- rotation → Actor rotation
- scale → Actor scale
- currentHits → Remaining durability
3. Methods / Blueprints
This plugin exposes two Blueprint-callable methods intended to be the main public API for saving and loading a BP_DiggableArea.