问题记录——Unity内网环境使用PackageManager
又想吐槽内网环境了,本来连上网美滋滋的事情,断了网是真的恶心。PackageManager内网使用其实就两个步骤:
- 将外网下载好的所有Package拷到内网机器的下载缓存目录
C:\Users\Administrator(用户名)\AppData\Local\Unity\cache\packages\packages.unity.com
- 打开工程Assets同级目录Packages下的manifest.json文件,添加需要用到的package名和版本到“dependencies”中,以接入DOTS为例
需要将显示在PackageManager面板中的Burst/Entities/Mathematics添加进manifest.json文件
{
"dependencies": {
"com.unity.mathematics": "1.2.1",
"com.unity.entities": "0.11.2-preview.1",
"com.unity.burst": "1.3.9",
...
},
...
}
大功告成~
看起来很简单是不是,现在让我们回到第一步“将外网下载好的所有Package拷到内网”,划重点所有!!!按下图勾选Show dependencies后可以在PackageManager面板的右下方看到这个package依赖的其他package(一个Enitities下面竟然依赖了10个其他package!!!),这还没完,有的子package下面还引用着孙子(大雾)package,套娃一般子子孙孙无穷尽也…
那么我们怎么找到所有package呢?
也有两个方法:
- 方法一:分析packages-lock.json文件(同样在Assets目录同级的Package文件夹下),dependencies中就是依赖的package名字了,一层层找下去就是了,json格式的配置文件可读性还是很好的,不多解释了
"com.unity.burst": {
"version": "1.3.9",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.mathematics": "1.2.1"
},
"url": "https://packages.unity.com"
}
- 方法二 :直接看报错,报错提示少了什么package就再从内网拷进去,缺点是可能要反复很多次,两个方法按需选择叭