使用Unity开发多人游戏,有两套API:
- 
偏底层一些,直接使用NetworkManager或者高级API(HL API) 
- 
使用NetworkTransport,与Unity 结合更紧密 
参考资料
多人游戏是Unity的重要内容,在功能介绍中有非常详细的介绍。https://docs.unity3d.com/Manual/UNet.html
此外,Unity专门开辟了一个多人游戏域名存放多人游戏相关的文档:https://docs-multiplayer.unity3d.com/tools/current/install-tools
多人游戏网站介绍了三个组件,这三个组件分别具有自己的版本号:
- 
Netcode for GameObjects 1.2.0 
- 
Transport 2.0.0 
- 
Multiplayer Tools 1.1.0 
tutorials:
https://docs-multiplayer.unity3d.com/netcode/current/tutorials/goldenpath_series/goldenpath_one/index.html
Unity多人游戏提供的服务
- 
匹配服务 
- 
创建比赛和通告比赛 
- 
列出可用的比赛、加入比赛 
- 
中继服务器(Relay Server) 
HLAPI的功能
- 
使用 Network Manager 来控制游戏的联网状态。 
- 
操作“客户端托管的”游戏,这种情况下的主机也是玩家客户端。 
- 
使用通用序列化程序来序列化数据。 
- 
发送和接收网络消息。 
- 
将联网命令从客户端发送到服务器。 
- 
执行从服务器到客户端的远程过程调用 (RPC)。 
- 
将联网事件从服务器发送到客户端。 
NetworkManager
三种模式:
- 
Server: 
- 
Client: 
- 
Host:主机模式 
NetworkManager HUD
多人游戏的简单UI,主要用于测试多人游戏,它支持两种模式:
- 
LAN模式 
- 
Matchmaker模式