unity:项目导入团结引擎后 包管理器报错的解决方案

Unity 项目导入团结引擎的解决方案

问题描述

我尝试将用 Unity 制作的 3D 小游戏项目导入 团结引擎,以便发布到微信小游戏平台。然而,直接用团结引擎打开项目工程时,发生了两百多条报错,包管理器也全是红色感叹号(如下图所示)。

例如TextMeshPro

起初,我尝试网上常见的解决方案:删除项目下的 Libraryobj 文件夹,然后重新打开项目,但问题依旧。通过分析 包管理器 的报错内容,我发现问题的根源在于以下依赖未能正确解析:

The following dependencies could not be resolved: com.unity.ugui

问题出在UGUI包上(这个包被很多包引用)

解决过程

差异分析

为了定位问题,我从 包管理器 入手,发现项目文件夹下的 Packages 文件夹中有两个关键文件:manifest.jsonpackages-lock.json

  1. 我用团结引擎新建了一个名为 Test 的新项目,并找到其对应的 Packages 文件夹,观察其中的 manifest.jsonpackages-lock.json 文件。
  2. 对比发现:Unity 项目和团结引擎的包管理器配置在以下方面存在差异:
    • 包链接地址
      • Unity 项目:https://packages.unity.cn
      • 团结引擎:https://packages.tuanjie.cn
    • UGUI 包的版本号
      • Unity 项目:2.0.0
      • 团结引擎:1.0.0

修改配置文件

  1. 修改包的链接地址:

    • 打开 Unity 项目中 packages-lock.json 文件,将所有包的 url 属性从 https://packages.unity.cn 改为 https://packages.tuanjie.cn
  2. 修改 UGUI 包的版本号:

    • 在 Unity 项目的 packages-lock.json 文件中,将以下内容:
      "com.unity.ugui": {
        "version": "2.0.0",
        "depth": 0,
        "source": "builtin",
        "dependencies": {
          "com.unity.modules.ui": "1.0.0",
          "com.unity.modules.imgui": "1.0.0"
        }
      }
      
      修改为:
      "com.unity.ugui": {
        "version": "1.0.0",
        "depth": 0,
        "source": "builtin",
        "dependencies": {
          "com.unity.modules.ui": "1.0.0",
          "com.unity.modules.imgui": "1.0.0"
        }
      }
      
    • 同时,在 manifest.json 文件中,将 com.unity.ugui 的版本号改为 1.0.0
  3. 重启团结引擎打开修改后的 Unity 项目,UGUI 报错消失了!

解决其他报错

接着,我发现 UPR 包也存在类似报错问题。我使用相同的方法,手动修改了对应的包信息,并成功解决了问题。

结果

所有报错解决后,我顺利构建出了小游戏。以下是解决问题后包管理器的正常状态截图
在这里插入图片描述

总结

通过以下步骤解决了 Unity 项目在团结引擎中的导入问题:

  1. 修改 packages-lock.jsonmanifest.json 中的包链接地址和版本号。
  2. 确保团结引擎的包版本与其生态系统的要求一致。

此方法适用于因包管理器配置差异导致的类似问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值