💾 Crafting — UnityIntegration / Persistence¶
📦 Folder Overview¶
This page documents the persistence and offline progression system used by Crafting.
Persistence is handled by CraftingJobPersistence and the service integration layer.
🧩 What Lives Here¶
- job save and restore logic
- offline progression handling
- snapshot conversion and reconstruction
🎯 Purpose¶
Persistence provides a way to:
- save active crafting jobs
- restore jobs after reload
- apply offline progress
- reconcile job completion on load
It ensures crafting continues across sessions and application restarts.
🧠 Usage Guidance¶
Save¶
- use
SaveActiveJobsto collect job snapshots - caller is responsible for serialization and storage
Restore¶
- use
RestoreJobsto rebuild runtime jobs - jobs are resolved, reconstructed, and scheduled
Offline Progress¶
- elapsed time is calculated from stored timestamps
- jobs may complete immediately if duration has elapsed
- paused jobs do not progress offline
⚠️ Important Notes¶
- only active jobs are persisted
- inputs and currency are not re-applied on restore
- behaviour depends on adapter implementations
- failure during delivery may result in partial recovery
🚫 Not for Production Use¶
Persistence does not handle:
- scheduling logic
- crafting rules or validation
- modifier execution
These remain in the Crafting service.
🔗 Related Documentation¶
- Crafting Core (job lifecycle and execution)
- Crafting Contracts (job snapshots and data structures)
🧠 Design Notes¶
- separates persistence from runtime orchestration
- uses snapshot-based reconstruction
Given the same snapshots and adapter behaviour, restore produces consistent results.