Database PlayerPrefs v。用于在Unity3D中保存数据的XML文件?

Database PlayerPrefs v。用于在Unity3D中保存数据的XML文件?,database,unity3d,save,xml-serialization,persistence,Database,Unity3d,Save,Xml Serialization,Persistence,我在谷歌和YouTube上到处搜索,找不到我问题的确切答案 我应该使用PlayerPrefs或XML文件保存游戏版本1中的所有数据吗?或者他们是否有其他您喜欢的保存格式 我的游戏没有太多的数据会被保存到它,但它也不是很小。我将在游戏中保存的内容有:选项菜单(打开或关闭声音效果、打开或关闭游戏音乐、打开或关闭10秒故事动画)、游戏中的距离分数(大约10分,有点像广告牌),一个非常简单的商店,当你在游戏中达到一定距离后,你可以解锁另外两个角色。他们现在没有太多,但我将在我的游戏中发布更新,它将继续增

我在谷歌和YouTube上到处搜索,找不到我问题的确切答案

我应该使用PlayerPrefs或XML文件保存游戏版本1中的所有数据吗?或者他们是否有其他您喜欢的保存格式

我的游戏没有太多的数据会被保存到它,但它也不是很小。我将在游戏中保存的内容有:选项菜单(打开或关闭声音效果、打开或关闭游戏音乐、打开或关闭10秒故事动画)、游戏中的距离分数(大约10分,有点像广告牌),一个非常简单的商店,当你在游戏中达到一定距离后,你可以解锁另外两个角色。他们现在没有太多,但我将在我的游戏中发布更新,它将继续增长和扩大,所以我希望储蓄选项可以扩大到最好的。我尽了最大努力解释我的独特场景,如果你需要更多信息,请告诉我,我会添加它。谢谢!:)

我在谷歌和YouTube上到处搜索,却找不到一个 对我的问题的明确回答

那是因为他们两人都将完成这项工作。你用哪一个并不重要。它们都可以保存您的游戏数据

现在,在我看来,出于可移植性的原因,您应该使用
XML

当您使用
PlayerPrefs
保存游戏数据时,您将被卡在该平台上。例如,
PlayerPrefs
在Android上保存为
.xml
,在iOS和Mac OS上保存为
.plist
,在Windows应用商店上保存为
.dat
,在Windows上保存为
HKCU\Software\[公司名称]\[产品名称]键
。这些是不能互换的

  • 假设您希望允许玩家将所有玩家设置从一个平台转移到另一个平台,这将是一个问题。通过使用
    xml
    ,您的游戏将能够在您想要的任何平台上使用它。因此,玩家可以从Android手机上获取设置,并在PC或Mac上使用,不会出现问题

  • 当您想将
    游戏引擎
    Unity更改为另一个,如UDK时,您将很难使用玩家的旧数据。我看到一个关于将玩家数据从Unity传输到另一个游戏引擎的问题。如果此人使用的是
    xml
    ,那根本就不是问题。如果你的玩家因为游戏引擎的改变而丢失了数据,你会得到负面反馈。如果您认为您永远不必改变游戏引擎,请记住您不是Unity Technologies SF的创始人或首席执行官。他们自己做决定,任何其他竞争对手都可以随时购买,并关闭他们。这种情况经常发生。如果您真正关心
    PlayerPrefs
    vs
    xml
    ,请坚持使用
    xml


有趣的是,有人刚刚问了这个问题……它的可能副本很接近,但并不精确!我的问题和另一个问题唯一相同的地方是,他们已经在使用XML文件进行保存,我想让其他人了解他们认为我应该使用什么,PlayerPrefs或XML文件。:)@JoeBlow@StephenGeorge在你的问题中,你从来没有接受过不可接受的答案,而且大多数答案实际上解决了你的问题。我建议你回到所有这些问题上,接受那些解决了你问题的问题。这是一幅关于如何做到这一点的图片嗨@StephenGeorge事实上,我敦促你回到你没有“勾选”的两个问题,并确保“勾选”任何合理的答案。你不必担心答案是否“完美”。你需要“勾选”以获得分数并避免节制。其次,这是社会规范——忘记勾选答案是不礼貌的。如果你的问题已经存在了一段时间,那么是时候打勾了。