You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 14:48:15