用途:面向 Unity 6 的多人联机与网络开发技能,指导使用 Netcode for GameObjects(v2.10+)搭建联机游戏。
主要能力:介绍 Unity 多人技术分层,包括高层 Netcode for GameObjects、Netcode for Entities,低层 Unity Transport,以及 Relay、Lobby、Sessions SDK 服务和 Multiplayer Play Mode、Multiplayer Tools 工具;说明 Client-Server(专用/主机)与 Distributed Authority 拓扑。覆盖 NetworkManager 配置与启动(StartHost、StartServer、StartClient、Shutdown)、NetworkObject 的生成/所有权/可见性、NetworkBehaviour 生命周期与所有权回调、NetworkVariable 与 NetworkList 状态同步、统一 [Rpc(SendTo.X)] 与旧式 ServerRpc/ClientRpc、连接审批、NetworkSceneManager 场景同步,以及玩家生成、所有者权威与服务端权威移动等常见模式。另含 Relay(NAT 穿透)与 Lobby(会话发现与匹配)集成流程。
使用方式:通过 Package Manager 安装 com.unity.netcode.gameobjects(2.10+),场景中添加 NetworkManager 组件,网络脚本继承 NetworkBehaviour。Relay 需 UGS 认证,创建分配后获取 join code;Lobby 需每 15-30 秒发送心跳防止过期。
限制与注意:仅服务器可生成 NetworkObject;NetworkVariable 写入受权限约束,客户端写入会被忽略;Update 中需检查 IsOwner;高频小数据优先用 NetworkTransform;不要场景事件回调内启动新场景事件;RPC 需在 OnNetworkSpawn 后调用。另有详细代码示例见原文参考文档。