Version: 2021.3
LanguageEnglish
  • C#

PlayerPrefs

class in UnityEngine

/

Implemented in:UnityEngine.CoreModule

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

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. Note that 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.

Static Methods

DeleteAllRemoves all keys and values from the preferences. Use with caution.
DeleteKeyRemoves the given key from the PlayerPrefs. If the key does not exist, DeleteKey has no impact.
GetFloatReturns the value corresponding to key in the preference file if it exists.
GetIntReturns the value corresponding to key in the preference file if it exists.
GetStringReturns the value corresponding to key in the preference file if it exists.
HasKeyReturns true if the given key exists in PlayerPrefs, otherwise returns false.
SaveSaves all modified preferences.
SetFloatSets the float value of the preference identified by the given key. You can use PlayerPrefs.GetFloat to retrieve this value.
SetIntSets a single integer value for the preference identified by the given key. You can use PlayerPrefs.GetInt to retrieve this value.
SetStringSets a single string value for the preference identified by the given key. You can use PlayerPrefs.GetString to retrieve this value.
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961