- Home /
Using PlayerPrefs to save settings menu
Hello,
I searched this question and could not find anything that matches what I want to do. My question is that I have a settings script where you can change audio, fullscreen and quality, but how would i save these options using playerprefs?
code of options menu:
if(Audio2 == true){
GUI.backgroundColor = Color(0.2, 0.8, 0.8);
volumeSlider = GUI.HorizontalSlider (Rect (Screen.width / 2 - 350, Screen.height / 2 - 75, 200, 60), volumeSlider, 0.0, 20.0);
GUI.Label(Rect(Screen.width / 2 - 130, Screen.height / 2 - 85, 100,100),"Volume");
GUI.backgroundColor = Color(0.2, 0.3, 0.8);
}
if(Graphics2 == true){
if(GUI.Button(Rect(Screen.width / 2 - 350, Screen.height / 2 - 75, 150, 50), "Fullscreen On")){
Screen.fullScreen = true;
}
if(GUI.Button(Rect(Screen.width / 2 - 350, Screen.height / 2 - 25, 150, 50), "Fullscreen Off")){
Screen.fullScreen = false;
}
GUI.Label(Rect(Screen.width / 2 , Screen.height / 2 - 50, 100,100),"Graphics Quality");
if(GUI.Button(Rect(Screen.width / 2 - 175, Screen.height / 2 - 25, 150, 50), "Low")){
QualitySettings.currentLevel = QualityLevel.Fastest;
}
if(GUI.Button(Rect(Screen.width / 2 - 25, Screen.height / 2 - 25, 150, 50), "Medium")){
QualitySettings.currentLevel = QualityLevel.Simple;
}
if(GUI.Button(Rect(Screen.width / 2 + 125, Screen.height / 2 - 25, 150, 50), "High")){
QualitySettings.currentLevel = QualityLevel.Fantastic;
}
}
thanks, Joseph
Answer by Dave-Carlile · Oct 29, 2013 at 04:05 PM
There are all kinds of tutorials available for using player prefs. Here's one that Google came up with...
http://www.burgzergarcade.com/tutorials/game-engines/unity3d/031-unity3d-tutorial-playerprefs-5x
Specifically, you can get and set boolean and enumerated values by typecasting them to an int...
bool test = true;
PlayerPrefs.SetInt("Test", (int)test);
test = (bool)PlayerPrefs.GetInt("Test");
Edit: Apparently you can't typecast bool to int and back. Another way to do this:
PlayerPrefs.SetInt("Test", test ? 1 : 0);
test = PlayerPrefs.GetInt("Test") == 1 ? true : false;
But the type cast should work fine for enums.
is that java script or c#? and thanks for the link :)
You can also ins$$anonymous$$d of
test = PlayerPrefs.GetInt("Test") == 1 ? true : false;
write simply
test = PlayerPrefs.GetInt("Test") == 1 ;
:-)
Your answer
Follow this Question
Related Questions
Change Game Graphics Options 1 Answer
Making a launcher for my game with Visual Basic 1 Answer
Is there anyway to have an advanced graphics option in my game? 1 Answer
In Game Graphics/Resolution Options 2 Answers
2d background music visualiser? 0 Answers