Hero image

使用Unity Netcode构建多人游戏

发现Unity的网络代码解决方案,获取库、教程和示例,开始构建。

为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

立即观看

休闲合作的网络代码解决方案

使用 GameObjects 包的网络代码,瞄准休闲合作多人游戏。在多个客户端和平台之间同步场景和游戏对象数据,使用客户端或服务器主导模型。Unity帮助您使用工具优化多人游戏,以便在播放模式和运行时分析网络。

Relay,来自Unity游戏服务,是一种具有成本效益的点对点伴侣服务,可以扩展游戏测试并构建多人游戏,而无需投资于专用托管。

雪地赛车场景

竞争行动的网络代码解决方案

针对基于ECS的实体网络代码包的竞争性多人游戏,旨在提高性能和可扩展性。构建雄心勃勃的服务器主导游戏玩法,具有预测、插值和延迟补偿。

使用专用服务器构建目标来管理成本,该目标可以自动剥离资产。通过Unity游戏服务的Multiplay Hosting进行部署,这是一种简化的方法,可以维护您的游戏基础设施的弹性和可扩展性,让您可以专注于为玩家提供最佳体验。

UGS 关键艺术

通过 Unity Gaming Services 提升您的游戏技能

使用 Netcode for GameObjects 构建您的小型合作游戏并使用 Relay 和 Lobby 连接您的玩家。

另外,您可以获取更多可用于构建、管理和改善游戏的 Unity 解决方案,其均经过知名游戏创作者的检验。

电流在两个面板之间流动

获得传输层的细粒度控制

Unity Transport Package 是一个与网络代码无关的库,提供了一个专注于性能和可靠性的低级网络层——一个现代、安全和可移植的传输库,扩展了传统的 UDP,具有先进的功能,如 支持 Unity Relay 服务、UnityTLS 和管道等。

Netcode for GameObjects 和 Netcode for Entities 默认依赖 UTP 作为传输。然而,希望对网络保持细粒度控制的开发人员可以将UTP作为独立库使用。

立即观看

深入了解网络代码及网络代码示例

通过探索我们的多人游戏示例的代码,了解更多关于多人游戏开发的信息。

  • 老板房间 是一款具有生产级代码的3D休闲合作游戏 - 使用GameObjects的Netcode构建,并与Lobby和Relay集成。
  • 银河小猫 是一个使用 GameObjects 的 Netcode 构建的 2D 合作空间冒险示例,旨在帮助您学习如何同步网络对象。
  • 网络赛车 是一个快速节奏的竞争赛车示例 - 使用实体的网络代码构建 - 体现了客户端预测、插值和延迟补偿。
在社区中学习和创建

在社区中学习和创建

曾经有人说过,孤身前行很危险,所以加入我们吧!欢迎深入研究我们的文档,查看技术参考和内容,以开始联网。

此外,如果您有任何问题,我们的团队在多人游戏论坛DiscordGitHub上非常活跃。

了解多玩家联网的更多信息

小样本

Bitesize Samples 仓库提供了一系列示例代码作为模块,以便在您的游戏中使用,并更好地理解游戏对象的网络代码(Netcode)。

小样本

游戏对象的网络代码教程

访问本教程以获得对游戏对象网络代码的基本理解,并了解在创建休闲合作多人游戏时如何使用它。

游戏对象的网络代码教程

小规模竞争多人游戏模板

此模板提供了一个起点,以使用 Netcode For GameObjects 和 Unity 的游戏服务创建和交付您的多人游戏项目。

小规模竞争多人游戏模板

开始使用实体的网络代码

观看此按需网络研讨会,深入了解Megacity Metro演示,学习如何将实体集成到您的项目中,以及Unity的游戏服务。

开始使用实体的网络代码

开始构建您的下一个多人游戏

安装 Unity 多人游戏解决方案,以便在下一个项目中取得先机。

常见问题解答

是的,Unity 的网络代码解决方案支持主机/监听服务器模型,其中一个客户端充当主机,其他客户端连接到它。在此了解详情。

在最新版本的Transport中,我们支持所有平台,包括WebGL,这个版本在我们所有的多人游戏解决方案中使用。请随时查看我们的路线图,以投票或分享您的想法 这里

游戏对象的网络代码自2022年9月20日起已准备好投入生产,而实体的网络代码在2022.2技术流中处于预发布阶段。

我们当前的记录计划是将两个网络代码解决方案与核心的Unity实时开发平台分开。如果计划改变,我们的路线图将是第一个反映这一点的地方。

游戏对象的网络代码将在2020.3、2021.3、2022.1和2022.2版本中提供

实体的网络代码将在2022.2版本中提供。

游戏对象和传输的网络代码与Unity Relay无缝集成。

对于多重游戏托管,当前将它们一起设置的过程是手动的 - 然而,我们的团队目前正在努力使这个 DGS 工作流程在我们所有的解决方案中变得最佳和无缝。

绝对是的,无论是在SDK还是文档中。我们很高兴能够与社区分享这段旅程,我们还将提供其他不同类型的贡献,例如,RFC 过程来讨论设计决策。

我们的两个多人游戏解决方案都支持专用游戏服务器模型。要创建一个专用游戏服务器,您可以将构建目标更改为专用服务器,正常构建您的项目,然后将最终构建上传到游戏服务器托管服务或您自己的服务器硬件。

我们的文档站点拥有丰富的学习资源和文章,可帮助您开始使用。如果您有任何其他问题,可以直接在 Discord 上询问我们的团队。