CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
关于Assembly Definition兼容版本插件包和常规插件包
从CRIWARE Unity SDK v3.03.00开始,添加了支持Unity Assembly Definition的新插件包(.unitypackage)。
通过定义依赖关系提高的安全性,以及以增量构建改进的开发迭代,带来了更现代的Unity开发支持。
该配置与SDK v3.03.00或更早版本的插件包的常规版本有很大不同,在更新时请务必注意。
以下总结了插件之间的差异以及更新时的注意事项。

关于常规插件包的停产日期

注意
正如之前宣布的,我们将从 SDK v3.11.00 开始停止发布常规配置的插件包。
如果您需要,请通过支持页面单独联系我们。

与传统插件包的区别

插件程序包的Assembly Definition兼容版本与常规版本的插件程序包之间的区别如下。
作为CRIWARE Unity插件在功能上没有区别。
  • 支持 Unity 2019 或更高版本的Unity。
  • 添加了Assembly Definition定义文件(.asemdef)。
  • 将与插件相关的文件的位置移动到Assets/CRIMW文件夹下。
  • 将命名空间CriWare添加到所有现有类和名称空间的顶部。

插件包迁移指南

如果您使用的是SDK v3.02.00或更早版本的CRIWARE Unity插件,则根据更新方法,可能需要采取特殊措施。
更新到新文件配置时的注意事项

对于使用传统配置的插件实施的项目,更新至Assembly Definition兼容插件时,AssetBundle可能需要重建

如果包含了挂载CriWare Unity插件组件的Prefab,则AssetBundle需要被重建。
如果从脚本中添加上述组件(AddComponent)则没有问题。
这是因为AssetBundle中包含“所属Assembly”和“命名空间”描述作为Prefab对组件的参照信息。

由于上述问题,对于已在运营中的应用程序或正在开发的项目,在更新至新配置时需要特别注意。

继续使用常规配置的插件包时

SDK依旧包含常规配置的插件包,您可以继续使用。

与往常一样,您只需将.unitypackage导入到项目中即可更新插件。
需要注意的一项设计变更点是,CriWare类已重命名为“CriWare.Common”类。
对于使用CriWare类属性的脚本,请将CriWare替换为CriWare.Common。

另外,为了避免PackageManager中删除Timeline包时会发生的编译错误问题,在常规配置的插件包中,Timeline扩展脚本预设为禁用。
如果您想继续使用Timeline扩展,请在Scripting Define Symbols设置中添加以下定义。

  • CRIWARE_TIMELINE_1_OR_NEWER
注意
通过SDK中包含的方式对常规配置插件包的分发会在将来结束(计划于2021年底进行)。
如果您希望在分发结束后使用常规配置插件包的更新版本,请通过支持页面单独与我们联系。
从旧配置更新到新配置插件包时

您需要删除已导入到项目中的与CriWare Unity插件相关的文件,然后导入新配置插件。
以下是处于默认导入状态的目标文件夹和文件。

plugin_organization_update_project_view.png
  • Assets/Editor/CriWare文件夹
    plugin_organization_update_editor_folder.png
  • Gizmos/CriWare文件夹
    plugin_organization_update_gimos_folder.png
  • Plugins/CriWare文件夹
  • Plugins/每个平台文件夹中的CriWare库文件

    plugin_organization_update_plugin_folder.png

    当直接使用Explorer/Finder等进行删除时,还要删除每个文件夹和文件的.meta文件。

    删除上述文件后,将新配置的插件包导入到您的项目中。
    由于插件文件的GUID是通用的,因此可以直接使用之前的场景文件和Prefab。
    请注意,如前文所述,AssetBundle中的Prefab如果挂载了CriWare Unity插件组件,您将需要重新构建此AssetBundle。

    由于添加了名称空间,引用CriWare插件类的脚本将出现编译错误。
    请添加**using CriWare;**并用Common类替换之前的CriWare类。