Meta分享:Quest Unity 开发的迭代最佳实践
Unity迭代速度最佳实践
(映维网Nweon 2022年02月11日)为了减少VR开发者的构建和迭代时间,Meta一直在与Unity进行合作。团队日前更新了相关的Unity文档,并增加了一个名为“Unity迭代速度最佳实践”的页面。日前,Meta通过博文对其进行了介绍,下面是映维网的具体整理:
1. 与Unity版本保持同步
通过不断的升级优化,Unity在缩短构建时间方面已经取得了长足的进步。Meta建议VR开发者尽量更新至最新的LTS,以实现更快的构建时间以及它们提供的稳定性优势。对于早期开发阶段的项目,最新发布的版本可能会帮助你获得更高的迭代提升。当然,它可能不如LTS稳定。作为补充,从Unity 2019到2020,迭代时间减少了33%到42%,而从Unity 2020到2021,迭代时间则减少了8%到16%。
2. Script Only Patch
Unity提供了一个当开发者只进行代码改动时patch生成APK的选项。这种类型的build大大减少了构建所需的时间。Unity手册提供如何构建patch的详细信息。Meta发现,一个在APK中包含asset的项目可以将构建时间缩短45%,因为它只构建已经改动的代码。
3. Addressables
可寻址系统将asset构建过程与代码构建过程分开,通过只构建更改的内容来减少构建时间。所述系统通过一个界面将asset组合在一起,并确保依赖项包含在捆绑包中。
下面是Unity LTS 2021.1.15f1 Base项目与Addressables项目的比较:
通过将asset与代码分开,APK的构建速度提高了50%以上。仅改动asset,并且无需重建APK时,速度可以提升约为75%。Meta同时认为,仅asset改动正在使用本地托管解决方案更新可远程加载的可寻址捆绑包。因此,没有任何时间花费在将捆绑包推送到设备方面。
4. OVR Quick Scene Preview(QSP)
如果将当前项目转换为使用可寻址项需要大量工作,并且你希望在转换项目时获得更快的解决方案,Meta为你开发了一种可以将项目分成多个捆绑包,然后推送到设备的工具:OVR Quick Scene Preview。以下是使用Unity LTS 2020.3.14f1的数据点:
可以看到,除了clean build之外,所有方面的改善都超过了53%。初始build需要更高的时间成本,但后续会获得相当大的时间提升,这值得开发者的权衡。
5. Oculus Link
使用Oculus Link是迭代项目的一种有用且快速的方法。通过将头显接到计算机,你可以在Unity中启动场景,并直接在头显中获取结果。这在大多数改动依赖于设备的情况下非常有用,比如说逻辑代码改动,asset定位和asset更新等等。当然,在迭代依赖于设备的元素时,这可能没什么优势,如着色器、渲染或特定于设备的逻辑。
以上是最佳实践的主要原则,具体请访问“Unity迭代速度最佳实践”页面。