Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PlayerPrefs not saving on Android

I ran into a bit of a problem with PlayerPrefs in unity3d 5.4. (I am using 5.4 because there is a game-breaking bug in 5.5.)

Here is the code:

void OnApplicationQuit() {
    PlayerPrefs.SetInt("numerator", numerator);
}

This works fine in the editor, but on mobile it's a different story. It doesn't do anything.


1 Answers

Call PlayerPrefs.Save after PlayerPrefs.SetInt. That will likely solve your problem.

void OnApplicationQuit()
{
    PlayerPrefs.SetInt("numerator", numerator);
    PlayerPrefs.Save();
}

If that does not solve your problem, do the save operation in the OnApplicationPause or OnDisable function.

void OnApplicationPause(bool pauseStatus)
{
    if (pauseStatus)
    {
        PlayerPrefs.SetInt("numerator", numerator);
        PlayerPrefs.Save();
    }
}

If both of these fail, Please look here for how to use Json to save and load game data.

like image 83
Programmer Avatar answered Dec 23 '25 01:12

Programmer



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!