> For the complete documentation index, see [llms.txt](https://docs.overdare.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overdare.com/korean/manual/studio-manual/get-started/studio-playtest.md).

# 스튜디오 플레이 테스트

## 개요

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>
