[C#] Saving settings to a local file and reading from it at runtime

I’m working on my first game, so I’m still learning as I go, and would like to save settings in a(n encrypted) file to the local machine. I want to 1) save the settings that they use, and read from it when the program starts up (and check if it’s there at all), and 2) I want to save in-game specifics every couple minutes as a back-up and if the player disconnects (online 1v1 game), read from it to continue where he left off.

So what type of file do I need to write? How do I encrypt it, read from it, and write to it? How do I manage their locations, and check if they’re there at all?

Unity has a built in Safe Saving System that can handle this.


string playerName = "Anymeese";

To save it, use

PlayerPrefs.SetString("Player Name", playerName);

To Read it After, use

string playerName = PlayerPrefs.GetString("Player Name");

What if the “Player Name” does not exist and you want to name it “New User” if it doesn’t exist, then use

string playerName = PlayerPrefs.GetString("Player Name","New User");

So, assuming this the first time the user is opening the game with no previous savings, it will search for “Player Name” but wont find it. It will now use “New User” which is the default value passed in the second parameter.

It can read Int, Float and String.
Below are other important functions it has: