Hello, I'm in the phase of learning about data serialisation, since it's the next goal for my project to integrate a Saving/Loading system. Here is my current data structure in a simplified form: CellData - For now it's just the current scene buildindex, so a scene is a cell CellData.ActorDataArray - A state "register" storing all relevant character data for all actors who arrive in this cell, including the player MonoActor - The MonoBehaviour component that every character has MonoActor.ActorData - The relevant character data After trying a lot of stuff, this seems to be the most convenient way to store cells and actors in my case. A bit more info about the game: - The game consists of many scenes/cells, just like Skyrim's world, with an outdoor scene and a lot of trigger connected interior scenes - NPCs are free to move between scenes/cells like the player - Most characters have randomly chosen equipment (clothes, weapons, hairstyles) - All humanoid characters have an inventory What I'm struggling with is to understand how to load a savegame properly. NPCs, Player, all items, all equipped armor, hairstyles, etc. This is how I imagine how it could be done, if a savegame is loaded: 1. Load the scene the player was in when the savegame was created 2. Destroy NPCs who don't belong there 3. Repopulate Player, NPCs from the ActorDataArray from basic character prefabs 4. Instantiate all physical representations of equipment that had the equipped status of "true" 5. In the player inventory UI load all equipment sprites and place them where they belong Does this seem to be ok or is there a better way to handle data in games like Skyrim? May be there is a way that might be better for saving and loading gameobjects and their hierarchies (clothes, weapons, hairstyles)? I would be really grateful for any insight, any help you can offer. How do YOU think this would best be done in Unity?