MLAPI基础包和扩展包的安装
这里还是叫NetCode的小名,MLAPI
1 下载基础包
2022-6-27之后,官方更新了稳定版,包管理器已经支持安装Netcode
输入以下名称,点击添加
com.unity.netcode.gameobjects
Git链接 访问git比较慢
4 一些扩展包的安装
4.1 添加多人联机工具 MultiplayerTools
1 通过包管理器添加,选择按照名字添加
输入以下名称,点击添加
com.unity.multiplayer.tools
如图所示:
2 上传的文件在这里【资源审核中】
4.2 添加官方示例集成模块 Multiplayer Samples Utilities
同样是两种下载方式:
1 git地址:点这里 下载后导入Utility文件夹使用即可
2 上传的文件在这里
4.3 添加MLAPI多人扩展模块 Netcode for GameObjects Community Extensions
一些问题:
不过pre-9之后,扩展包没有进行相应的更新,暂时不支持NetworkDictionary的网络化,所以现在的版本不能用,我这里上传的文件是不包含NetworkDictionary类的。
这个包提供了比较实用的对象池 和 局域网络联机工具
同样是两种下载方法:
1 git地址:点这里 导入工程的Packages文件夹使用即可
2 上传的文件在这里 更新了一版,移除了utp包的依赖项,详见说明。
4.4 多人联机调试 ParrelSync
ParrelSync是一个Unity editor扩展,允许用户测试多人游戏,而无需通过打开另一个Unity editor窗口来构建项目,并镜像原始项目的更改。
同样是两种下载方法:
1 git地址:点这里 导入工程的Packages文件夹使用即可
2 上传的文件在这里【资源审核中】
3 包管理器点击通过git添加:https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync
4 修改注册文件加入此行: “com.veriorpies.parrelsync”: “https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync”
使用方法:
点击AddNewClones 进行工程副本的拷贝 点击打开工程 会启动Unity
但是注意不要修改另一个Unity的任何设置 在原工程修改即可!
克隆的工程目录部分文件夹会带有快捷标志!
4.5 多人联机调试 UnityProjectCloner
ParrelSync 参考源 UnityProjectCloner
安装方法:
1 Git地址下载添加到Package文件夹
2 包管理器磁盘添加: “com.hwaet.projectcloner”: “file:…/…/…/…/[relative path from your manifest file to the package.json]”
3 注册表文件,新增以下行
“com.hwaet.projectcloner”: “https://github.com/hwaet/UnityProjectCloner.git”
2-3 步骤跳过,官方更新到稳定版本
2 导入基础包【】
将com.unity.netcode.gameobjects文件夹 复制到工程的Packages文件夹中即可,然后点击Unity编辑器界面,包将自动进行导入。
3 基础包的依赖包
此时编辑器可能会有一些报错生成 因为基础包导入后会有额外的依赖包进行安装。
包1 Unity Transport包2 Unity Transport for Netcode for GameObjects 【已弃用】
-【安装Netcode会加入此依赖包,我上传的Netcode扩展包(已移除依赖)】
3.1-3.4 步骤仅供参考,此包不建议在pre-9或以后的版本使用,官方更新已集成,个人更新到1.0.2版本,移除依赖项,搭配Netcode-pre-9版本使用。
3.1 包2的作用:
Unity Transport for Netcode for game objects是一个传输适配器,支持使用Unity Transport Package作为游戏对象net code的低层传输。这个库是NetworkTransport的一个实现,为Unity Transport提供配置和与Netcode for GameObjects包的互操作性,支持与Unity项目进行跨平台的基于UDP的网络通信。
3.2 包2的名称
com.unity.netcode.adapter.utp@1.0.0-pre.5
3.3 包2可能引起的GUID报错
当前版本导入后会有GUID报错产生,包不要升级。
3.3.1 包2需要移除,移除步骤:
-> Packages
-> Netcode for GameObjects Community Extensions
-> 点击 package.json 文件
-> 点击右侧面板的Depencies数组
-> com.unity.netcode.adapter.utp 1.0.0-pre.5
-> 点击 ‘-’号按钮
-> 点击apply
-> 此依赖项会被移除 最后会只存在Netcode一个依赖项。
3.4 包2保留,解决报错的方案参考
工程目录下找到以下文件夹:
Library\PackageCache\com.unity.netcode.adapter.utp@1.0.0-pre.5
将其剪切到工程的Packages文件夹中
修改 UnityTransport 脚本 Initialize 函数声明,加入参数,如下:
public override void Initialize(NetworkManager networkManager = null)
即可解决报错。