Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在处理项目时是否更新Unity引擎?_C#_Unity3d_Game Development - Fatal编程技术网

C# 在处理项目时是否更新Unity引擎?

C# 在处理项目时是否更新Unity引擎?,c#,unity3d,game-development,C#,Unity3d,Game Development,在Unity 5发布前的几个月,我才开始与Unity合作 我记得,当我还在使用Unity 4进行一个非常简单的项目时,我将其更新为Unity 5,当我打开该项目时,基本上场景中的所有内容都被删除了,我必须重新构建它。嗯,这没什么大不了的,因为这只是一个试验,但现在我开始着手一个更大的项目。到目前为止,我安装的小更新(比如,从Unity 5.1到5.2等)并没有对我正在制作的试用游戏造成任何损害,它们仍然和我制作的一样,但我想知道。。。现在,我正在做一些我绝对不想突然被删除或弄糟的事情,当引擎出现

在Unity 5发布前的几个月,我才开始与Unity合作


我记得,当我还在使用Unity 4进行一个非常简单的项目时,我将其更新为Unity 5,当我打开该项目时,基本上场景中的所有内容都被删除了,我必须重新构建它。嗯,这没什么大不了的,因为这只是一个试验,但现在我开始着手一个更大的项目。到目前为止,我安装的小更新(比如,从Unity 5.1到5.2等)并没有对我正在制作的试用游戏造成任何损害,它们仍然和我制作的一样,但我想知道。。。现在,我正在做一些我绝对不想突然被删除或弄糟的事情,当引擎出现新的更新时,安装新的更新是一个好的做法吗?或者我应该只安装小的而忽略最终的Unit6吗

这个问题有点类似于源代码冲突的问题:

i、 e.我应该遵循CI最佳实践并经常更新,还是应该继续在自己的小世界中编写代码,只在6个月后与同行的代码执行SVN合并

当然,后者每天都有较少的问题,但从长远来看,很可能会导致地狱般的代码合并噩梦

在Unity3D的情况下,如果您的计划是制作商业游戏,那么明智的做法是经常更新Unity3D,就像使用源代码一样。原因是您离开更新Unity(以及我可能添加的相关第三方资产)的时间越长,您在决定更新时遇到冲突或不兼容的可能性就越高(我根据经验说话,我相信其他人会证明这一点)

此外,Unity3D正在不断为您打算针对的平台进行更新,包括错误修复;性能增强或其他附加功能

使用MVVM与Unity3D解耦 游戏工作室和Unity3D的共识是使用桥接模式和MVVM将实际处理逻辑与Unity3D完全分离。这允许您在普通的旧VisualStudio中编写,在那里您可以按照MVVM模式快速地进行原型和单元测试。只有V知道通常表示为Unity3D行为的Unity3D


对您来说,最直接的好处是,如果执行得当,大部分代码不会受到Unity3D中更改的影响

是的,我的目标是制作一款商业游戏。的确,Unity的更新经常会让一切变得更好。然而,我不想因为某种不兼容而损失数周或数月的工作;NuGet软件包;或完整的游戏引擎中间件,如Unity3D。如果你不想遇到这样的问题,你可以随时将自己与外部代码分离,编写自己的游戏引擎。@JohnStrife请参阅上面的“使用MVVM与Unity3D分离”。那么,你的意思是我可以将整个游戏从Unity中分离出来进行备份,以获得一个“安全”的副本,而不会受到游戏引擎更改的影响?你链接的视频中是否讨论了这种方式?(因为它很长,只有在有用的情况下我才会全部观看)@JohnStrife这与备份无关。我强烈建议您花点时间观看视频,作为一个学习练习。另外一个问题:更新Unity时,是否会尽可能经常地减少因不兼容而丢失内容的风险?我的意思是,从5.0升级到5.6比从5.5升级到5.6风险更大吗(它们不是实际版本,只是举个例子)?