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
相关产品推荐
相关产品推荐

