Saving a Dictionary To PlayerPrefs

I am attempting to save this dictionary to playerprefs:

var playerScores = new Dictionary.<String, Dictionary.<String,double> >();

I look online but haven’t found a fix to this. the issue is unity’s playerprefs doesn’t save dictionary’s. Does anyone know a workaround or fix to this issue?

AFAIK, besides saving string, integer and float you can’t save anything to PlayerPref. To resolve this issue, you can use Serialization to convert your object to an string representation and save it to a file.

As an starter have a look at this thread.

Also, once it is converted to a string you can also use PlayerPrefs.SetString to save it to the PlayerPrefs class but based on your comment here, saving a lot of data to PlayerPrefs can slow down it on devices.

Hope it helps!

What solved for me was that Odin Inspector already serializes dictionaries, and I was already using it.
So I could use JsonUtility on the class that has the dictionary and it just worked.