Version: 2022.1

PlayerPrefs

class in UnityEngine

切换到手册

描述

`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从偏好中删除所有键和值。请谨慎使用。
DeleteKeyRemoves the given key from the PlayerPrefs. If the key does not exist, DeleteKey has no impact.
GetFloat返回偏好设置文件中与 key 对应的值(如果存在)。
GetInt返回偏好设置文件中与 key 对应的值(如果存在)。
GetString返回偏好设置文件中与 key 对应的值(如果存在)。
HasKeyReturns true if the given key exists in PlayerPrefs, otherwise returns false.
Save将所有修改的偏好写入磁盘。
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.