PlayerPrefs
is a class that stores Player preferences between game sessions. It can store string, float and integer values into the user’s platform registry.
Unity stores PlayerPrefs in a local registry, without encryption. Do not use PlayerPrefs data to store sensitive data.
Unity stores PlayerPrefs
data differently based on which operating system the application runs on. In the file paths given on this page, the ExampleCompanyName and ExampleProductName are the names you set in Unity’s Player Settings.
Standalone player and in-Editor Play mode storage location
- MacOS: ~/Library/Preferences/com.ExampleCompanyName.ExampleProductName.plist
Standalone Player storage location
- Android: /data/data/pkg-name/shared_prefs/pkg-name.v2.playerprefs.xml
.
Notes:
Unity uses SharedPreferences API to access the PlayerPrefs
data and SharedPreferences.Editor API to modify it.
C#, Android Java, and native code can all access the PlayerPrefs
data.
- iOS: Uses the [NSUserDefaults standardUserDefaults]
API to store PlayerPrefs data.
- Linux: ~/.config/unity3d/ExampleCompanyName/ExampleProductName
- WebGL: Unity stores up to 1MB of PlayerPrefs data using the browser's IndexedDB API. For more information, see IndexedDB.
- Windows: HKCU\Software\ExampleCompanyName\ExampleProductName
- Windows Universal Platform: %userprofile%\AppData\Local\Packages\[ProductPackageId]\LocalState\playerprefs.dat
In-Editor Play mode storage location
- Windows: HKCU\Software\Unity\UnityEditor\ExampleCompanyName\ExampleProductName
key. Note that Windows 10 uses the application’s PlayerPrefs names. For example, Unity adds a DeckBase
string and converts it into DeckBase_h3232628825. The application ignores the extension.
DeleteAll | Removes all keys and values from the preferences. Use with caution. |
DeleteKey | Removes the given key from the PlayerPrefs. If the key does not exist, DeleteKey has no impact. |
GetFloat | Returns the value corresponding to key in the preference file if it exists. |
GetInt | Returns the value corresponding to key in the preference file if it exists. |
GetString | Returns the value corresponding to key in the preference file if it exists. |
HasKey | Returns true if the given key exists in PlayerPrefs, otherwise returns false. |
Save | Saves all modified preferences. |
SetFloat | Sets the float value of the preference identified by the given key. You can use PlayerPrefs.GetFloat to retrieve this value. |
SetInt | Sets a single integer value for the preference identified by the given key. You can use PlayerPrefs.GetInt to retrieve this value. |
SetString | Sets a single string value for the preference identified by the given key. You can use PlayerPrefs.GetString to retrieve this value. |