发生了MATCHMAKE_UNHANDLED错误
5 分
如果在二维码测试期间发生 MATCHMAKE_UNHANDLED 错误,请尝试以下方法解决。

请检查 Multiplay 服务器脚本 (index.ts)。
- 当客户端在连接到 Multiplay 服务器后未能顺利接收 Multiplay 房间状态数据时,可能会发生此错误代码。
- 请参考下面的教程,并检查服务器脚本 (index.ts) 中的 onCreate/onJoin 部分的代码。
📘 请参考以下指南。ZEPETO Multiplay 教程
请将 ZEPETO WORLD SDK 版本更新到最新版本。
- 请参阅下面的指南,以检查 ZEPETO WORLD SDK 版本是否为最新版本,然后更新到最新版本。
📘 请参阅以下指南。更新包
请检查 Zepeto World Multiplay 组件。
- 如果 Zepeto World Multiplay 组件在不同场景中存在,则可能会发生此错误。
- 将 Zepeto World Multiplay 组件添加到仅一个场景中,并按照下面的示例代码将其实现为单例。
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { GameObject } from 'UnityEngine';
export default class MultiplayComponent extends ZepetoScriptBehaviour {
private static _instance: MultiplayComponent = null;
public static get instance(): MultiplayComponent {
// 如果尚未创建实例,请执行以下逻辑。
if (this._instance === null) {
// 在场景中搜索 MultiplayComponent 类型的实例。
this._instance = GameObject.FindObjectOfType<MultiplayComponent>();
// 如果在场景中未找到 MultiplayComponent 实例,请执行以下逻辑。
if (this._instance === null) {
this._instance = new GameObject(MultiplayComponent.name).AddComponent<MultiplayComponent>();
}
}
return this._instance;
}
private Awake() {
// 如果另一个实例已经存在且当前实例不同,则执行以下逻辑。
if (MultiplayComponent._instance !== null && MultiplayComponent._instance !== this) {
// 销毁当前 GameObject(与当前实例)以防止重复实例创建。
GameObject.Destroy(this.gameObject);
// 如果不存在其他实例或当前实例相同,则执行以下逻辑。
} else {
MultiplayComponent._instance = this;
GameObject.DontDestroyOnLoad(this.gameObject);
}
}
}