3个月前,我想做一个Unity多人游戏,我选择使用EOS + Netcode。然而,我很快发现EOS PlayEveryWare Unity插件并不容易设置。它功能强大,但示例中没有我需要的内容。我需要一种简单的方式,通过设备ID+来连接玩家并管理创建和加入大厅。最终,我花在构建多人游戏系统上的时间比实际做游戏要多。因此,我先在GitHub上创建了一个仓库,这样我可以直接克隆它并真正开始构建游戏。

但我也希望把它发布给遇到相同问题的人。它是一个简单的Unity场景,包含:

  • 通过代码处理大厅创建/加入逻辑
  • 使用自动设备ID登录
  • 在加入大厅后启动Netcode for GameObjects
  • 包含两个脚本(P2PManager + UIManager)和预建的UI场景

请注意,此模板并不完美,可能存在一些错误。此外,使用这种方法既有优点也有缺点:

优点:

  • 无服务器成本(P2P)
  • 平台独立(可在itch.io、个人网站、Steam等上发布)
  • 适合小型合作和派对游戏

缺点和局限性:

  • 不支持WebGL
  • 仅在PC上测试,未处理断开连接、客户端不自动加载下一场景、同一台电脑上无法运行两个实例,且仅在特定版本(Unity 6.3 LTS、NGO 2.13.2、EOS插件 6.1.2)上测试
  • 不适合竞技或大规模游戏

该模板是一个Unity场景(因版权原因未包含包),您可以在此找到:https://github.com/CodingQuarters/Netcode-EOS-Minimal-Template-Scene. 说明文档会指导您完成具体设置。

它并不完美,如果您发现bug,请打开issue或在这里告诉我。