如何修复 Windows 10 上的 Unity 注册表?

How to repair Unity registry on Windows 10?

我使用PlayerPrefs来保存一些用户数据。我知道 Windows 上的数据实际上保存在 \HKEY_CURRENT_USER\SOFTWARE\Unity\companyname 项下的注册表中。

以前是这样的:

Unity
  |--BugReporterV2
  |--UnityEditor
  |--companyname
      |--some other things that I don't remember, maybe the project name then some detailed values
  |--WebPlayer

我打算将所有 PlayerPrefs 设置为默认值,所以我删除了 companyname 的整个密钥 - 愚蠢而没有备份。然后在测试中,我发现在调用

PlayerPrefs.SetString("testKey", "test");

它引发了一个异常

PlayerPrefsException: Could not store preference value

如何修复注册表的结构?

有人可以告诉我注册表如何使用 PlayerPrefs 保存数据吗?也许我可以手动修复它。

谢谢!

我尝试重新安装 unity,注册表已修复。原始的干净注册表如下所示:

Unity
 |--BugReporterV2
 |--UnityEditor
 |--WebPlayer
 |--companyname
     |--Project Name with Space
         |--unity.cloud_userid_xxxxxx // value is quite complicated
         |--UnityGraphicsQuality_xxxxxx // value is 5

xxxxxx 是我不熟悉的 windows10 的特殊内容。似乎每个键后面都跟着一个对我来说看起来随机的字符串。对于遇到类似问题的任何人,我认为您可以尝试创建公司名称和项目名称密钥。如果在您 运行 项目后没有自动创建其他密钥,那么您可以尝试重新安装 unity。