【问题标题】:A proper way to manage Unity Asset Store packages管理 Unity Asset Store 包的正确方法
【发布时间】:2022-07-12 21:48:22
【问题描述】:

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

我将解决方案想象成一个经典的包管理器(pipnpmnuget 等)并偶然发现this thread from 2018 .响应建议将所有内容提交到您的版本控制是要走的路。

2022 年还是这样吗?

【问题讨论】:

  • 资产商店包现在(我认为自 Unity 2020 以来)也通过统一包管理器导入。见docs.unity3d.com/Manual/upm-ui-import.html ...尽管它们仍然以Assets结尾,所以你可能仍然必须将它们提交到git中

标签: git unity3d package-management


【解决方案1】:

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

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

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

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

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

希望对你有帮助。

【讨论】:

    【解决方案2】:

    我这样做的方式是我有一个干净的项目,我通过 Unity 包管理器下载和导入资产存储包。然后我创建了一个自定义本地包(我称它们为“包装器”-包),这里有更多关于包的信息: https://docs.unity3d.com/2021.3/Documentation/Manual/CustomPackages.html https://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 文件的更改,因为内容在项目之外且未跟踪。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-04
      • 1970-01-01
      • 2017-03-02
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 2012-01-22
      相关资源
      最近更新 更多