MATCHMAKE_UNHANDLED 에러가 발생했어요
5 분
QR 테스트 중에 MATCHMAKE_UNHANDLED 오류가 발생하면, 아래 방법을 시도하여 해결해 보세요.

멀티플레이 서버 스크립트(index.ts)를 확인해 주세요.
- 이 오류 코드는 클라이언트가 멀티플레이 서버에 연결한 후 서버로부터 멀티플레이 룸 상태 데이터를 원활하게 수신하지 못할 때 발생할 수 있습니다.
- 아래 튜토리얼을 참조하고 서버 스크립트(index.ts)의 onCreate/onJoin 부분의 코드를 확인하세요.
📘 다음 가이드를 참조해 주세요. ZEPETO 멀티플레이 튜토리얼
ZEPETO WORLD SDK 버전을 최신 버전으로 업데이트해 주세요.
- 아래 가이드를 참조하여 ZEPETO WORLD SDK 버전이 최신인지 확인한 후, 최신 버전으로 업데이트하세요.
📘 다음 가이드를 참조하세요. 패키지 업데이트하기
Zepeto World 멀티플레이 구성 요소를 확인하세요.
- Zepeto World 멀티플레이 구성 요소가 서로 다른 씬에 존재할 경우 이 오류가 발생할 수 있습니다.
- Zepeto World 멀티플레이 구성 요소를 하나의 씬에만 추가하고 아래의 예제 코드를 따라 싱글톤으로 구현하세요.
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);
}
}
}