---
title: เกิดข้อผิดพลาด MATCHMAKE_UNHANDLED
slug: world-sdk-guide-th/matchmakeunhandled
docTags: 
createdAt: 2024-09-02T08:34:13.136Z
---

หากเกิดข้อผิดพลาด MATCHMAKE\_UNHANDLED ระหว่างการทดสอบ QR ให้ลองใช้วิธีด้านล่างเพื่อแก้ไขปัญหา

::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-VONRI8py0RPyx8RTN4sHa-20240904-102412.png" size="76" width="542" height="328" position="center" showCaption="false"}



## กรุณาตรวจสอบสคริปต์เซิร์ฟเวอร์ Multiplay (index.ts)

- รหัสข้อผิดพลาดนี้อาจเกิดขึ้นเมื่อไคลเอนต์ไม่สามารถรับข้อมูลสถานะห้อง Multiplay จากเซิร์ฟเวอร์ได้อย่างราบรื่นหลังจากเชื่อมต่อกับเซิร์ฟเวอร์ multiplay
- โปรดดูบทแนะนำด้านล่างและตรวจสอบโค้ดในส่วน onCreate/onJoin ของสคริปต์เซิร์ฟเวอร์ (index.ts)

:::hint{type="info"}
**📘&#x20;**&#xE01;รุณาอ้างอิงจากคู่มือต่อไปนี้ [คู่มือ Multiplay ของ ZEPETO](docId\:bFzI_crxT7X2ujbo1ZNog)&#x20;
:::



## กรุณาอัปเดตเวอร์ชัน ZEPETO WORLD SDK เป็นเวอร์ชันล่าสุด

- โปรดดูคู่มือต่อไปนี้เพื่อตรวจสอบว่าเวอร์ชัน ZEPETO WORLD SDK เป็นเวอร์ชันล่าสุดหรือไม่ และจากนั้นอัปเดตเป็นเวอร์ชันล่าสุด

:::hint{type="info"}
**📘&#x20;**&#xE42;ปรดดูคู่มือต่อไปนี้ [อัปเดตแพ็กเกจ](docId\:SKYLNCE7F1C8SWXidkiZr)&#x20;
:::



## โปรดตรวจสอบส่วนประกอบ Zepeto World Multiplay

- ข้อผิดพลาดนี้อาจเกิดขึ้นหากส่วนประกอบ Zepeto World Multiplay อยู่ในฉากที่แตกต่างกัน
- เพิ่มส่วนประกอบ Zepeto World Multiplay ลงในฉากเดียวและทำตามโค้ดตัวอย่างด้านล่างเพื่อใช้งานเป็น singleton

```typescript
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);
        }
    }
}
```

