PlayerPrefs
是一个在游戏会话之间存储玩家偏好的类。它可以将字符串、浮点数和整数值存储到用户的平台注册表中。
Unity 将 PlayerPrefs 存储在本地注册表中,没有加密。请勿使用 PlayerPrefs 数据存储敏感数据。
Unity 存储 PlayerPrefs
数据的方式因应用程序运行的操作系统而异。在此页面上给出的文件路径中,ExampleCompanyName 和 ExampleProductName 是您在 Unity 的 Player Settings 中设置的名称。
独立播放器和编辑器播放模式存储位置
- MacOS: ~/Library/Preferences/com.ExampleCompanyName.ExampleProductName.plist
独立播放器存储位置
- Android: /data/data/pkg-name/shared_prefs/pkg-name.v2.playerprefs.xml
。
注释:
PlayerPrefs
数据,并使用 SharedPreferences.Editor API 修改它。PlayerPrefs
数据。- iOS: 使用 [NSUserDefaults standardUserDefaults]
API 存储 PlayerPrefs 数据。
- Linux: ~/.config/unity3d/ExampleCompanyName/ExampleProductName
- WebGL: Unity 使用浏览器的 IndexedDB API 存储最多 1MB 的 PlayerPrefs 数据。有关更多信息,请参阅 IndexedDB。
- Windows: HKCU\Software\ExampleCompanyName\ExampleProductName
- Windows 通用平台: %userprofile%\AppData\Local\Packages\[ProductPackageId]\LocalState\playerprefs.dat
编辑器播放模式存储位置
- Windows: HKCU\Software\Unity\UnityEditor\ExampleCompanyName\ExampleProductName
键。请注意,Windows 使用应用程序的 PlayerPrefs 中的键名称作为哈希标识符。例如,Unity 将 DeckBase
字符串添加到哈希键名称(例如 h3232628825
)以创建 DeckBase_h3232628825
。Unity 对名称进行哈希处理,因为它
应用程序忽略扩展名。
DeleteAll | 删除偏好设置中的所有键和值。谨慎使用。 |
DeleteKey | 从 PlayerPrefs 中删除给定的键。如果键不存在,DeleteKey 不会产生任何影响。 |
GetFloat | 如果存在,则返回偏好文件中与键对应的值。 |
GetInt | 如果存在,则返回偏好文件中与键对应的值。 |
GetString | 如果存在,则返回偏好文件中与键对应的值。 |
HasKey | 如果给定的键存在于 PlayerPrefs 中,则返回 true,否则返回 false。 |
Save | 保存所有修改的偏好设置。 |
SetFloat | 设置由给定键标识的偏好的浮点值。您可以使用 PlayerPrefs.GetFloat 检索此值。 |
SetInt | 为由给定键标识的偏好设置单个整数值。您可以使用 PlayerPrefs.GetInt 检索此值。 |
SetString | 为由给定键标识的偏好设置单个字符串值。您可以使用 PlayerPrefs.GetString 检索此值。 |