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

There are all kinds of tutorials available for using player prefs. Here’s one that Google came up with…

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.