Save-and-Load-System
Save-and-Load-System is a flexible save/load system built with C/.NET using generics, originally designed for Unity games but adaptable to other applications. It allows developers to save and load custom data by implementing the ISaveAndLoad interface and creating serializable data classes that derive from SaveableObject, each assigned a unique key for identification. The core SavingManager handles file operations through a configurable save path and supports multiple save slots via an integer parameter, enabling several independent save files. For Unity users, optional methods like GetPrefabPath() and IsInstantiable() allow automatic instantiation of objects when loading. The system uses straightforward SaveData and LoadData generic methods, making it easy to extend for any object type. Lightweight and easy to integrate, it serves as a practical solution for developers needing a quick, customizable persistence layer without heavy dependencies.