管理Unity Asset Store软件包的正确方法



我是Unity的新手,不确定如何正确管理Asset Store包。到目前为止,我一直在做的是通过PackageManager下载它们,并将它们导入到项目中,然后简单地将它们提交给我的git repo。我觉得这不是一种最佳的做事方式,只会让我的回购变得臃肿。

我想象这个解决方案就像一个经典的包管理器(pipnpmnuget等(,并在2018年偶然发现了这个线程。回复表明,将所有内容都提交给您的版本控制是可行的。

2022年还是这样吗?

我现在的版本控制解决方案是将我的整个资产文件夹放在.gitignore中,然后简单地取消我的游戏文件夹以及版本控制中需要包含的任何内容。到目前为止,这项工作做得很好。你只需要确保把你想包含的所有内容都放在正确的未忽略文件夹中(无论如何,我通常都会创建自己的预制件,所以这对我来说不是问题(。

这并不完美,但这是我找到的最好的解决方案。

如果我对导入的资源进行更改,我会将特定文件移到我自己的项目文件夹中,该文件夹不会被忽略。人们很容易忘记通常位于资产根文件夹中的地形数据,但你已经习惯了

所以,一个典型的.gitigner会以这样的方式结束。

Assets/*
!Assets/_[Mm]yproject/

希望能有所帮助。

我做这件事的方式是我有一个干净的项目,在那里我下载&通过Unity Package Manager导入资产存储包。然后我创建了一个自定义的本地包(我称之为"wrapper"-packages(,这里有关于包的更多信息:https://docs.unity3d.com/2021.3/Documentation/Manual/CustomPackages.htmlhttps://docs.unity3d.com/2021.3/Documentation/Manual/CustomPackages.html#LocalMe

在新的自定义包中,我将下载的内容放入,并在需要时添加程序集定义文件,因为大多数资产没有名称空间,甚至根本没有使用ASMDEF文件。如果需要,我会设置所需的参考资料。ASMDEF信息如下:https://docs.unity3d.com/2021.3/Documentation/Manual/cus-asmdef.html

通过这种方式,我可以轻松地将包添加到我想要的任何项目中。我还将包添加到版本控制中,这样我就可以跟踪我在使用它时是否意外做出了任何更改

您将在项目git历史记录中看到的唯一更改是对/packages中的manifest.json和packages-lock.json文件的更改,因为内容在项目之外,没有被跟踪。

相关内容

最新更新