uiNamespace is a great way to save variables. As far as I understand, it doesn't reset until after the game is closed down, and can be used across multiple missions. Can someone confirm this to me?   This leads me onto profileNamespace, you can add variables to this at anytime and save them, so why are people using systems like iniDB2 and extDB? I am not saying that these are pointless, I firmly believe that they are fantastic extensions and I am myself writing similar ones for my own modifications. What are the benefits of using an extension like ini/extDB compared to just writing the variables into the persistent profileNamespace?   The way I was thinking of doing this is by have one namespace with a tree like structure (please bear with me, when I'm trying to explain this :) )   profileNamespace - database: /* Structure: "ArmaDB" - database name |_ "UsersTable" - a table |_ Record - a record stored as an array |_ bRecord - another record |_ "SomeTable" - another table |_ ....... */ // To set another record in Users _record = [1,something,somethingElse]; // Gets the database - i.e. opens a connection _database = profileNamespace getVariable ["ArmaDB",[]]; if (count _database <= 0) exitWith {false;}; // Inserts a new record _userRecords = _database select 0; _userRecords pushBack _record; _database set [0,_userRecords]; // Commits the update profileNamespace setVariable ["ArmaDB",_database]; saveProfileNamespace; Bull