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

Unity单元测试中构建项目并同步加载场景测试多人游戏的问题

Unity多人游戏测试构建报错解决方案

我在开发一款多人游戏,测试时需要同时在单元测试器和独立程序中加载特定场景——通过常量设定一个客户端作为发送方,另一个作为接收方,将接收到的数据和预定义数据比对完成功能验证。但运行测试脚本时出现错误,脚本代码如下:

private const string SCENE_PATH = "Assets/Tests/PlayMode/Assets/Scenes/Scene.unity";
private const string BUILD_PATH = "Build/Testing.exe";

[OneTimeSetUp]
public void OneTimeSetUp()
{
    Debug.Log("OneTimeSetUp Base");
    string[] scenes = { SCENE_PATH };
    BuildPipeline.BuildPlayer(scenes, BUILD_PATH, BuildTarget.StandaloneWindows64, BuildOptions.None);
}

错误原因及修复方案

从错误截图来看,核心问题是场景路径无效:Unity要求场景路径必须以Assets/开头且指向真实存在的场景文件,你的路径中重复了Assets目录(Assets/Tests/PlayMode/Assets/Scenes/...),导致无法识别。

  • 修正场景路径
    将SCENE_PATH改为正确的相对路径:
private const string SCENE_PATH = "Assets/Tests/PlayMode/Scenes/Scene.unity";
  • 验证场景有效性
    确认修正后的路径下确实存在Scene.unity文件;若需要严格校验,可添加BuildOptions.StrictMode参数,构建时会直接抛出场景不存在的详细错误:

    BuildPipeline.BuildPlayer(scenes, BUILD_PATH, BuildTarget.StandaloneWindows64, BuildOptions.StrictMode);
    
  • 确保构建路径合法
    检查BUILD_PATH指定的Build目录是否存在,若不存在Unity会自动创建,但建议提前创建或使用绝对路径避免相对路径解析问题。

内容的提问来源于stack exchange,提问作者the Wongfon Semicolon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 17:40:17