- Home /
[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?
Answer by hangemhigh · Sep 07, 2014 at 04:35 AM
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:
DeleteAll
DeleteKey
GetFloat
GetInt
GetString
HasKey
Save
SetFloat
SetInt
SetString
Your answer
Follow this Question
Related Questions
Save files for a game 1 Answer
Problem whith save system,Problem whith save code 0 Answers
Writing binary files on Android 1 Answer
Coding help: How to use xml serialization 1 Answer
Easy way to save rigidbody state. 1 Answer