Save & Load Add-On
  • Welcome to Save & Load Add-On for FPS Engine!
  • BEFORE WE START
    • Early Considerations
    • Add-On Compatibility
    • List of Tutorials
  • GETTING STARTED
    • 01. Basic Set-Up
    • 02. Roadmap
  • CONTENT
    • 03. Content
      • 03.1 DataPersistence
        • DataPersistence_SO
        • DataPersistenceManager
        • FileDataHandler
        • GameData
        • GameDataManager
      • 03.2 Editor
      • 03.3 Item Registry
        • ItemRegistry
        • ItemRegistryEditor
        • ItemRegistryAssetProcessor
      • 03.4 Main Menu
        • SaveSlot
        • SaveSlotsMenu
      • 03.5 Objects Save Data
        • CustomSaveData
      • 03.6 Serialization
        • SerializableVector3
        • SafeSerializationBinder
      • 03.7 Triggers
        • SaveTrigger
        • LoadTrigger
        • ToggleAutoSave
      • 03.8 Type Registry
        • TypeRegistry
        • TypeToPrefabMappingDrawer
      • 03.9 UI
        • SaveLoadButton
    • 04. Shared Content for Add-Ons
      • ToastManager
      • WorkLight
  • HOW TO USE & GUIDES
    • Save & Load Games Programmatically
    • Saving Custom Data: Simple Method
    • Saving Custom Data: Advanced Method
    • Loading Custom Data
    • Saving Instantiated Objects
    • Save & Load System during Development
    • Working with Save & Load in Cowsins Manager
    • Uninstalling the Add-On: Fixing Errors
    • Type to Prefab Mappings in Game Data Manager
    • How to add Buttons to Save & Load a game
    • Non-Saveable Scenes
    • Loading Scenes & Load Player Data
  • FAQ
    • FAQ
  • SUPPORT
    • Support
Powered by GitBook
On this page
  1. CONTENT
  2. 03. Content
  3. 03.1 DataPersistence

GameDataManager

PreviousGameDataNext03.2 Editor

Last updated 1 month ago

The system manages data so it can be serialized, and adapts deserialized data for use by FPS Engine. For instance, consider Item_SO. Since we cannot directly serialize Item_SO in JSON, GameDataManager processes it and saves its name instead. When loading, the name is used to fetch the actual Item_SO value from the .

GameDataManager temporarily stores data and, upon invoking the Save method, serializes, encrypts, and stores it securely as a JSON file through & .

Type To Prefab Mappings

When loading instantiated objects, we only have details about their type and saveFields. Given this information, we can't instantiate the corresponding prefab for that type. To address this, we can establish a relationship between Types and Prefabs in the TypeRegistry, allowing us to read the Type and instantiate the associated Prefab. GameDataManager stores TypeToPrefab Mappings, so you can assign a Prefab to each type that needs to be instantiated.

To optimize performance and minimize overhead, include only necessary types in the Type-to-Prefab mapping. Avoid references that are unnecessary or unused.

ItemRegistry
DataPersistenceManager
FileDataHandler