`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` data differently based on which operating system the application runs on. In the file paths given on this page, the company name and product name are the names you set in Unity’s Player Settings.
Standalone Player storage location
On macOS, PlayerPrefs are stored in ~/Library/Preferences/com.ExampleCompanyName.ExampleProductName.plist
. Unity uses the same .plist file for projects in the Editor and standalone Players.
On Windows, PlayerPrefs are stored in HKCU\Software\ExampleCompanyName\ExampleProductName
key.
On Linux, PlayerPrefs are stored in ~/.config/unity3d/ExampleCompanyName/ExampleProductName
.
On Windows Store Apps, PlayerPrefs are stored in %userprofile%\AppData\Local\Packages\[ProductPackageId]\LocalState\playerprefs.dat
.
On Windows Phone 8, Unity stores PlayerPrefs data in the application's local folder.
See Directory.localFolder for more information.
On Android, PlayerPrefs are stored in /data/data/pkg-name/shared_prefs/pkg-name.v2.playerprefs.xml
. Unity stores PlayerPrefs data on the device, in SharedPreferences. C#, JavaScript, Android Java and native code can all access the PlayerPrefs data.
On WebGL, Unity stores up to 1MB of PlayerPrefs data using the browser's IndexedDB API. For more information, see IndexedDB.
In-Editor Play mode storage location
On macOS, PlayerPrefs are stored in /Library/Preferences/[bundle identifier].plist
.
On Windows, PlayerPrefs are stored in HKCU\Software\Unity\UnityEditor\ExampleCompanyName\ExampleProductName
key. 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.
Unity stores PlayerPrefs in a local registry, without encryption. Do not use PlayerPrefs data to store sensitive data.
DeleteAll | 設定情報からすべてのキーと値を削除します。注意して使用してください。 |
DeleteKey | Removes the given key from the PlayerPrefs. If the key does not exist, DeleteKey has no impact. |
GetFloat | キーが存在する場合、key に対応する値を取得します。 |
GetInt | キーが存在する場合、key に対応する値を取得します。 |
GetString | キーが存在する場合、key に対応する値を取得します。 |
HasKey | Returns true if the given key exists in PlayerPrefs, otherwise returns false. |
Save | 変更された値をディスクへと保存します |
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. |
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.