Elenesski Object Database  EODB and NEODB
The Memento Pattern Database for Unity
20 Local - Architecture

EODB implements the "Memento Pattern" through a database, so that you can load/save hundreds of objects easily. The architecture of EODB is a layered system, where you load your database into memory, then read/write objects from/to the in-memory database, then persist the entire thing back onto the file system.

EODB, an in-memory database

This approach makes it super easy to, for example, implement a method for loading and saving "games". You start by opening an EODB database (your saved game). This loads it all into memory. As your game operates, you extract the objects you need from EODB, make changes to them, and save them back into EODB.

Saving into EODB simply updates the memory for the object, but it's not saved into the file system until you explicitly call EODB.CommitToFileSystem().

Almost everything else about the architecture is hidden away from view so that you don't have to worry about how it's stored. To implement a game that allows multiple saves and settings, you would create two databases. One that contains the game settings (audio, video, game play settings, etc.) and a second that maintains the saved game details.

For Game Settings, I recommend you save you game settings back into EODB then write EODB out to disk when you are sure all is okay.