# 스튜디오 플레이 테스트

## 개요

OVERDARE Studio에서 배치한 오브젝트나 스크립트로 구현한 기능은 **Play** 기능을 통해 직접 테스트하고 확인할 수 있습니다. 이 기능을 사용하면 작업한 요소를 실시간으로 점검하고, 필요한 수정 사항을 빠르게 확인할 수 있습니다.

## 주의 사항

퍼블리시된 게임을 유저가 플레이하는 환경은 Studio를 이용하는 PC가 아닌 **모바일**입니다. 따라서, 조작이나 UI 등 모바일 디바이스와 관련된 요소나 최종적인 점검은 Studio가 아닌 **모바일에서 확인**해야 합니다. 모바일 테스트는 월드 퍼블리시 메뉴얼의 **5번 항목**을 참고하세요.

{% content-ref url="/pages/nYWPgpxRBjxmXWdQijsx" %}
[월드 퍼블리시](/korean/manual/studio-manual/get-started/world-publish.md)
{% endcontent-ref %}

## 사용 방법

### Play 기능 위치

Play 기능은 OVERDARE Studio 최상단 탭 영역에서 **Home탭**을 선택하면 출력됩니다.

<figure><img src="/files/cxSzNWPP4ZQhwL43x0Y1" alt=""><figcaption></figcaption></figure>

탭 영역에서 **Play탭**을 선택하면, Play와 관련된 기능만 표시할 수 있습니다.

<figure><img src="/files/2effGwP54usm0deENayA" alt=""><figcaption></figcaption></figure>

### Play와 Pause, Stop

**Play 버튼(또는 F5)**&#xC744; 눌러 게임을 실행할 수 있습니다.

Play 상태에서 **Pause 버튼**을 눌러 게임을 일시 정지할 수 있고, **Stop 버튼(또는 Shift+F5)**&#xC744; 눌러 실행된 게임을 종료하고 편집 화면으로 돌아올 수 있습니다.

<figure><img src="/files/zUwRGYdmgiPCS1UoIbzo" alt=""><figcaption></figcaption></figure>

### 테스트 옵션 설정

**Play탭**에서 Stop 버튼 오른쪽에 있는 화살표(🔽)를 클릭하면 테스트 옵션을 설정할 수 있습니다.

<figure><img src="/files/gppu94KvNI9zNiysd5Ht" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="240">기능</th><th>설명</th></tr></thead><tbody><tr><td>Number of Players</td><td>플레이 실행시 입장할 플레이어 수를 설정합니다.<br>(멀티플레이 환경 테스트용)</td></tr></tbody></table>

### 클라이언트 추가

플레이 테스트 중에 **Add a Client 버튼**을 눌러 새로운 플레이어를 추가할 수 있습니다.

<figure><img src="/files/oMNxPvl9V6EEGj2B1ALh" alt=""><figcaption></figcaption></figure>

클라이언트 창의 닫기(X) 버튼을 누르면 해당 클라이언트 프로세스만 종료되며, 서버와 다른 클라이언트는 계속 실행됩니다. 이를 통해 전체 세션을 재시작하지 않고도 플레이어 이탈 시나리오를 테스트할 수 있습니다.

### 관전자 모드 진입

Play 상태에서 **Spectator View 버튼**을 눌러 관전자 모드로 전환할 수 있습니다.

관전자 모드 진입 시, 플레이어 캐릭터에서 벗어나 **자유로운 카메라 시점으로 게임을 관찰**할 수 있습니다. **Player View 버튼**을 다시 누르면 플레이어 시점으로 복귀합니다.

(단, 관전자 모드는 멀티 테스트에서는 사용할 수 없습니다.)

<figure><img src="/files/eADEHiJLJwXW9MV5KUzX" alt=""><figcaption></figcaption></figure>

## 모바일 환경 가상 에뮬레이션 테스트

스튜디오에서 모바일 기기 환경을 가상으로 에뮬레이션하여 테스트할 수 있으며, 이 과정에서 모바일 앱에 표시되는 시스템 UI, 조이스틱, 점프 버튼 등과 배치한 GUI가 실제 모바일 환경에서 어떻게 보이는지 미리 확인할 수 있습니다.

### 기능 위치

Device Emulation 기능은 OVERDARE Studio 최상단 탭 영역의 **Play탭**에서 **Device Emulation**를 클릭하면 활성화 또는 비활성화됩니다.

<figure><img src="/files/2KpzbVK2qRMeAWTMhEw0" alt=""><figcaption></figcaption></figure>

### Device Emulation 모드

Device Emulation을 활성화하면 뷰포트가 선택한 기기의 해상도에 맞춰 자동으로 조정되어 표시됩니다.

<figure><img src="/files/cwqLbFDlx0yuHDOGCjlg" alt=""><figcaption></figcaption></figure>

* 1️⃣ 디바이스 선택 : 시뮬레이션할 디바이스를 선택합니다. 미리 정의된 기기를 선택하거나 새 기기를 추가할 수 있습니다.
* 2️⃣ 해상도 스케일링 방식 선택 : 뷰포트 화면을 실제 기기의 크기에 맞추는 방식을 설정할 수 있습니다.
  * Physical Scale : 실제 디바이스의 픽셀 밀도(DPI)를 반영하여 실제 기기와 같은 크기로 표시합니다.
  * Actual Resolution : DPI(픽셀 밀도)와 관계없이 픽셀 단위 그대로 표시합니다.
  * Fit to Window : 현재 뷰포트 화면에 꽉 차도록 표시합니다.
* 3️⃣ SafeArea 영역 표시 : 선택한 기기에 노치나 펀치홀 등 SafeArea 영역이 있을 경우, 해당 영역을 표시합니다.

Device Emulation이 활성화된 상태에서 플레이 테스트를 실행하면, 뷰포트 화면에 시스템 UI, 조이스틱, 점프 버튼이 표시됩니다.

일반 플레이 상태에서는 마우스 좌·우 클릭으로 카메라를 회전할 수 있지만, Device Emulation 상태에서는 마우스 **좌클릭으로만** 회전이 가능합니다.

<figure><img src="/files/flBwZQHwmKIzK2scIEJ7" alt=""><figcaption></figcaption></figure>

* 1️⃣ 시스템 UI 영역 표시
* 2️⃣ SafeArea 영역 표시
* 3️⃣ 조이스틱 영역
* 4️⃣ 점프 버튼

조이스틱, 점프 버튼과 달리 시스템 UI 영역의 버튼은 클릭해도 동작하지 않고 단순히 이미지로만 표시됩니다.

### 메모리 사용량 표시 및 경고

선택한 기기의 메모리를 초과하면 뷰포트 상단의 메모리 사용량이 주황색으로 표시되고, Output Log에 경고가 출력됩니다.

다만 메모리 사용량은 실제 기기에서 측정한 값이 아니라, 프로젝트에 포함된 리소스의 크기(예: 텍스처, 사운드, 메시 등)를 기준으로 단순 비율 계산을 통해 추정한 값입니다. 따라서 기기별 메모리 관리 방식에 따라 실제 기기에서 소비되는 메모리와는 차이가 발생할 수 있습니다.

<figure><img src="/files/nfqLXBNJBv7zJ5lU757v" alt=""><figcaption></figcaption></figure>

### 새 기기 추가

디바이스 선택 드롭다운 메뉴에서 **Manage Devices**를 클릭하면 Emulation Device Manager창이 표시되고, 이곳에서 새 기기를 추가할 수 있습니다.

장치 생성 시 기본으로 newDevice0\~newDevice9까지 순차 이름이 부여되며, 이 경우 최대 10개까지만 추가 가능합니다. 단, **이름을 변경하면 제한 없이** 장치를 생성할 수 있습니다.

<figure><img src="/files/c6OQYNx00yAzIUL1E8qO" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ek8uRneqSOs3BeB7K2J6" alt=""><figcaption></figcaption></figure>

* 1️⃣ 등록된 기기가 표시됩니다.
* 2️⃣ 선택한 기기의 디바이스 스펙을 설정할 수 있습니다.
* 3️⃣ 새로운 기기를 추가하거나 삭제하고, 등록된 기기를 복제할 수 있습니다.
  * Name : 디바이스의 이름
  * Device Platform : 디바이스의 OS 종류 (기능적 영향은 없으며 구별용으로 사용)
  * Physical X : 화면의 가로 해상도(픽셀 단위)
  * Physical Y : 화면의 세로 해상도(픽셀 단위)
  * PPI : 화면의 픽셀 밀도 (Pixels Per Inch)
  * Memory : 디바이스 메모리 용량(MB 단위)
* 4️⃣ 입력한 기기 정보를 저장합니다.

추가한 기기 정보는 아래의 경로에 JSON 파일로 저장됩니다:

`C:\Program Files\Epic Games\OverdareStudioPJVXb\Sandbox\EditorResource\Sandbox\DeviceSpecs_Custom`

## 네트워크 부하 테스트

**Network StressTest** 버튼을 눌러 패킷 지연, 패킷 손실 등 실제 네트워크 환경의 부하 상황을 시뮬레이션하고 테스트할 수 있습니다.

<figure><img src="/files/Yeryn6XhIRJDu4CyvczD" alt=""><figcaption></figcaption></figure>

* EnableTest : 네트워크 부하 테스트 기능의 활성화 여부를 설정합니다. 활성화시, 아래 설정된 옵션들이 적용됩니다.
* Packet Lag Minimum : **패킷 지연의 최소값**을 ms 단위로 설정합니다. Packet Lag Maximum과 함께 사용하여 무작위 지연 구간을 적용할 수 있습니다.
* Packet Lah Maximum : **패킷 지연의 최대값**을 ms 단위로 설정합니다.
* Packet Loss : 임의로 **패킷을 손실시키는 비율**(%)을 설정합니다. 0에서 100 사이의 값입니다.
* Packet Jitter : 송신 지연에 추가할 **변동폭**을 ms 단위로 설정합니다. 지연은 Packet Lag Minimum부터 Packet Lag Minimum + Jitter까지 변동됩니다.
* Packet Variance : Packet Lag(고정 지연) 사용 시, 고정값 대신 적용할 **가변 지연의 범위**를 ms 단위로 설정합니다. (Packet Lag 옵션이 활성화된 경우에만 유효합니다.)

## 그래픽 설정

그래픽 품질을 설정합니다. (설정 옵션은 모바일 환경과 동일하게 제공됩니다.)

<figure><img src="/files/DWFkQcIWv2thO77XE1QL" alt=""><figcaption></figcaption></figure>

동일한 장면에서 그래픽 품질을 **Low → Medium → High** 순으로 바꾼 모습입니다. 위 순서대로 이어집니다.

<figure><img src="/files/3GSAYgvBNxjR1bJMDvjn" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.overdare.com/korean/manual/studio-manual/get-started/studio-playtest.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
