Unity使用Photon PUN2开发VR多人游戏 运行构建报错求助
Unity PUN2 项目构建/启动报错修复
编译报错核心诱因为代码存在大小写拼写错误:C#为大小写敏感语言,类型名拼写不匹配会直接导致编译失败,阻断项目启动、构建流程。
- 核心错误:PUN回调基类名拼写错误。代码中继承的类写为
MonoBehaviourPunCallBacks,PUN2官方提供的正确回调基类为MonoBehaviourPunCallbacks——Callbacks字段的第二个b应为小写,误写为大写B会导致编译器无法识别对应类型,直接抛出编译错误。 - 次要笔误(不影响编译):连接服务日志中
Conecting为拼写错误,正确拼写为Connecting。
修复后可直接运行的代码
替换原脚本内容即可解决当前编译报错:
using System.Collections; using System.Collections.Generic; using UnityEngine; using Photon.Pun; using Photon.Realtime; public class networkmanager : MonoBehaviourPunCallbacks { void Start() { ConnectToServer(); } void ConnectToServer() { PhotonNetwork.ConnectUsingSettings(); Debug.Log("Connecting To Server..."); } public override void OnConnectedToMaster() { Debug.Log("Connected To Server!"); base.OnConnectedToMaster(); RoomOptions roomOptions = new RoomOptions(); roomOptions.MaxPlayers = 10; roomOptions.IsVisible = true; roomOptions.IsOpen = true; PhotonNetwork.JoinOrCreateRoom("Lobby 1", roomOptions, TypedLobby.Default); } public override void OnJoinedRoom() { Debug.Log("Lobby Joined!"); base.OnJoinedRoom(); } public override void OnPlayerEnteredRoom(Player newPlayer) { Debug.Log("A New Player Has Joined The Lobby!"); base.OnPlayerEnteredRoom(newPlayer); } }
修正拼写后仍报错的排查方向
- 打开PUN配置向导(Unity顶部菜单路径:
Window > Photon Unity Networking > PUN Wizard),确认已正确填写Photon后台申请的对应AppID,无配置项留空 - 检查PUN2插件导入完整性:若导入过程中跳过了核心文件,可删除项目内现有Photon相关文件夹后重新导入完整插件包
- 确认该脚本挂载在场景内处于激活状态的GameObject上,没有存放至
Editor等仅编辑器阶段编译、运行时不加载的特殊文件夹内
内容的提问来源于stack exchange,提问作者Andrew Grayeb
相关产品推荐
相关产品推荐

