Player Prefs Plus Plus

iconSquare
NOTE: PlayerPrefs++ is a free plugin for MBS Core. See here for more info on MBS Core

PlayerPrefs++ is a replacement for the default Unity PlayerPrefs class and offers a few enhancements to the class.


How to use PlayerPrefs++

To update your existing projects to use PlayerPrefs++, simply find each instance of PlayerPrefs in your code and prepend “mbs” to it. That is all. your project is now updated.

Example of your current code:

	PlayerPrefs.SetString("Name", "John");



Example of your new code:

	mbsPlayerPrefs.SetString("Name", "John");

NOTE:
Note when fetching a string from a category you need to provide a default return value or else you need to use mbsGetStringCat to fetch the string. This is only applicable to strings and only when stored under a category.

Enhancements to PlayerPrefs

As mentioned above, PlayerPrefs++ offers a couple of enhancements to the standard PlayerPrefs.

Firstly, PlayerPrefs++ allows you to save:

string, int, float, bool, Vector2, Vector3, Rect, Quaternion and Color.

Secondly, PlayerPrefs++ allows you to save your PlayerPrefs into categories.

This means you can easily delete a bunch of preferences with a single line of code while leaving all the rest in tact. To specify a category simply add the category name to the end of the function as a final parameter. That simple.

Example use:

void UpdateGrades(string student_id)

{

//get the previous semester's preferences...

string

name = mbsPlayerPrefs.GetString   (student_id+"Name"),

math = mbsPlayerPrefs.GetStringCat(student_id+"Math", "current"),

sci  = mbsPlayerPrefs.GetStringCat(student_id+"Science", "current"),

hist = mbsPlayerPrefs.GetStringCat(student_id+"History", "current");



float

average  = mbsPlayerPrefs.GetFloat(student_id+"ave", 0.0f);

		

bool

passed = mbsPlayerPrefs.GetBool(student_id+"Passed", "current");



Color 

hair_color = mbsPlayerPrefs.GetColor(student_id+"hair");



//store the old prefs to a new category...

mbsPlayerPrefs.SetString(student_id+"Name", name);

mbsPlayerPrefs.SetString(student_id+"Math", math, "First semester");

mbsPlayerPrefs.SetString(student_id+"Science", sci, "First semester");

mbsPlayerPrefs.SetString(student_id+"History", hist, "First semester");

mbsPlayerPrefs.SetFloat (student_id+"ave", average, "First semester");

mbsPlayerPrefs.SetBool  (student_id+"passed", passed, "First semester");

		

//give a bonus to blonds...

if (hair_color == Color.white)

	average == 4.0f;

			

mbsPlayerPrefs.SetFloat(student_id+"ave", average);

}

	

void ClearOldGrades()

{		

//remove all the previous preferences...

mbsPlayerPrefs.DeleteAll("current");

}

	

void CommitACrimeAgainstHumanity()

{

//completely destroy the entire school's database...

mbsPlayerPrefs.DeleteAll();

}