Roblox 엔진의 기본 클라이언트-서버 모델 때문에, 게임을 공개하기 전에 다양한 모드에서 테스트하는 것이 중요합니다. 모든 테스트 옵션은 메자닌의 왼쪽 부분에서 접근할 수 있습니다.

플레이 테스트
게임을 플레이 테스트하는 데는 세 가지 일반적인 옵션이 있습니다. 드롭다운 메뉴에서 원하는 옵션을 선택하고 오른쪽의 재생 버튼을 클릭하여 플레이 테스트를 시작하세요.

| 모드 | 단축키 | 설명 |
|---|---|---|
| 테스트 | F5 | 게임을 시뮬레이션하기 시작하며, SpawnLocation 또는 대략 (0, 100, 0) 좌표에 아바타를 삽입합니다. |
| 여기서 테스트 | 게임을 시뮬레이션하기 시작하며, 카메라의 현재 위치 앞에 아바타를 삽입합니다. | |
| 실행 | F8 | 게임을 시뮬레이션하기 시작하지만 아바타를 삽입하지는 않습니다. 시뮬레이션은 현재 카메라 위치에서 시작되며, Studio 카메라 컨트롤을 사용하여 탐색할 수 있습니다. |
플레이 테스트가 실행되면, 메자닌에서 추가 옵션이 제공됩니다.

| 작업 | 단축키 | 설명 |
|---|---|---|
| 일시 정지 / 재개 | 물리 및 애니메이션을 일시 정지/재개할 수 있습니다. | |
| 정지 | ShiftF5 | 게임의 시뮬레이션을 중지하고 모든 객체와 인스턴스를 플레이 테스트 이전 상태로 재설정합니다. |
| 클라이언트 / 서버 | "솔로" 모드 (테스트 또는 여기서 테스트)에서 플레이 테스트 중 클라이언트 모드와 서버 모드 간에 전환합니다. 자세한 내용은 클라이언트/서버 전환을 참조하세요. |
클라이언트/서버 전환
테스트 또는 여기서 테스트 모드에서 테스트할 때, 스튜디오는 두 개의 별도 시뮬레이션 — 하나의 클라이언트 시뮬레이션과 하나의 서버 시뮬레이션 —을 실행하여 게임이 프로덕션에서 어떻게 실행될지를 보다 정확하게 인상받을 수 있습니다.
솔로 플레이 테스트 중에 클라이언트/서버 전환 버튼을 클릭하여 클라이언트와 서버 모드 간에 전환할 수 있습니다. 전환할 때 버튼은 현재 시뮬레이션 모드를 반영하도록 변경됩니다.


시뮬레이션 모드에 따라 캐릭터와 카메라의 제어가 다음과 같이 변경됩니다:

탐색기 창 계층 내에서 특정 객체는 예상되는 컨테이너에만 존재합니다.


출력 창에서는 메시지가 파란색(클라이언트) 또는 녹색(서버)으로 레이블이 붙어 있어, 클라이언트 또는 서버에서 발생했음을 나타냅니다. ModuleScripts에서 출력된 메시지의 레이블 색상은 모듈이 클라이언트 측 LocalScript에서 호출되었는지 또는 서버 측 Script에서 호출되었는지에 따라 결정됩니다.

일시 정지/재개
솔로 플레이 테스트 중에 일시 정지/재개 버튼은 렌더링을 비활성화하지 않고도 일시적인 장면과 메커니즘을 디버깅하는 데 유용합니다.

기본적으로 일시 정지 및 재개는 클라이언트 및 서버 모두에 적용됩니다. 클라이언트 또는 서버만 일시 정지하거나 재개하려면:
- 일시 정지/재개할 시뮬레이션에 따라 클라이언트/서버 전환을 설정합니다.
- 일시 정지/재개 버튼의 작은 화살표를 클릭하고 일시 정지/재개 클라이언트 또는 일시 정지/재개 서버의 대체 옵션을 선택합니다. 버튼을 클릭하면 해당 시뮬레이션의 한 쪽만 일시 정지하거나 재개됩니다.
시뮬레이션이 일시 정지되면 1/60초(60 Hz)만큼 앞으로 단계를 진행할 수 있습니다. 왼쪽의 일시 정지/재개 버튼과 마찬가지로, 작은 화살표를 클릭하면 클라이언트/서버 전환에 따라 클라이언트 또는 서버에 대해서만 단계 진행을 선택할 수 있습니다.

일시 정지/재개와 관련된 다음 기술 세부정보를 참고하세요:
- Animations는 물리에 기반하지 않지만, 이 도구 모음 버튼은 애니메이션도 일시 정지/재개합니다.
- 일시 정지 또는 재개는 실행 중인 스크립트에 영향을 미치지 않습니다.
- RunService 콜백인 PreAnimation, PreSimulation, PostSimulation, 및 Stepped만이 이 도구 모음 버튼을 통해 일시 정지 또는 재개됩니다. 다른 콜백(PreRender, Heartbeat, 및 RenderStepped)은 계속해서 실행되어 카메라 스크립트, 렌더링된 시각화 및 플러그인의 정상적인 기능을 유지합니다.
다중 클라이언트 시뮬레이션
드롭다운 메뉴의 서버 및 클라이언트 옵션을 사용하면 서버 역할을 하는 하나의 스튜디오 세션과 클라이언트 역할을 하는 여러 세션을 시작할 수 있습니다. 이 테스트 모드는 클라이언트가 게임 내에서 다른 클라이언트를 "보는" 방식을 비교하는 데 유용한 도구입니다.
드롭다운 메뉴에서 서버 및 클라이언트 옵션을 선택한 후 테스트할 클라이언트 세션 수를 선택합니다. 일반적으로 1-2명의 클라이언트면 충분하지만 최대 8명까지 시뮬레이션할 수 있습니다.

재생 버튼 또는 F7을 눌러 클라이언트-서버 시뮬레이션을 시작합니다.
테스트가 끝나면, 모든 시뮬레이션 클라이언트와 시뮬레이션 서버를 종료하려면 시뮬레이션 세션 중 하나에서 세션 종료 버튼을 누릅니다.

파티 시뮬레이션
파티 시뮬레이터를 사용하면 여러 장치를 게시하고 조정할 필요 없이 스튜디오 내에서 파티 관련 API를 사용하는 게임을 테스트하고 디버깅할 수 있습니다. 이 도구를 사용하면 서버 및 클라이언트 플레이 테스트에서 테스트 플레이어를 위한 파티를 구성하고 에뮬레이트할 수 있습니다.
플레이 테스트 중에 파티 시뮬레이터는 자동으로 모든 테스트 플레이어를 구성된 시뮬레이션된 파티에 할당합니다.

파티 시뮬레이터가 활성화되면:
- 각 Player.PartyId 속성은 파티 시뮬레이터 할당을 반영합니다.
- SocialService:GetPartyAsync()는 시뮬레이션된 파티 데이터 테이블을 반환합니다.
스튜디오의 서버 및 클라이언트 설정을 사용하여 언제든지 로컬 테스트 플레이어 수를 조정할 수 있습니다. 테스트 플레이어 수가 변경되면 에뮬레이터는 자동으로 구성에 포함하거나 제거합니다.
협업 테스트
다른 사람과 협업 모드에서 게임 작업을 하고 있다면, 다음과 같이 다른 협업자와 함께 테스트할 수 있습니다:
드롭다운 메뉴에서 팀 테스트를 선택하고 재생 버튼을 눌러 캐릭터가 삽입된 새로운 스튜디오 세션을 엽니다.

다른 협업자는 자신의 스튜디오 세션에서 메자닌의 재생 버튼을 눌러 참여할 수 있습니다.
장치 에뮬레이션
디바이스 에뮬레이터는 스튜디오의 테스트 메뉴에서 접근 가능하며, 스튜디오 내에서 다양한 디바이스를 에뮬레이트하여 모바일 디바이스, 콘솔 및 VR 헤드셋에서 컨트롤이 어떻게 작동하는지, 그리고 화면 UI 요소가 서로 다른 화면 해상도와 종횡비에서 어떻게 표시되는지에 대한 통찰력을 제공합니다.
에뮬레이션 모드에서는 3D 뷰포트 위의 디바이스 선택기 드롭다운 메뉴에서 디바이스를 선택하여 성능이 낮은 디바이스를 에뮬레이트하고, 3D 콘텐츠가 사용 가능한 메모리에 따라 동적으로 로드되고 언로드되는 스트리밍 가능 게임을 테스트할 수 있습니다. 또한 보기 크기를 조정하고 가로 및 세로 모드 간의 방향을 변경할 수 있습니다.

터치 시뮬레이션
터치 시뮬레이션은 디바이스 에뮬레이터에서 모바일 장치를 선택할 때 자동으로 활성화됩니다. 플레이 테스트 중 마우스를 클릭하고 드래그하여 단일 터치 및 이중 터치 제스처를 시뮬레이션할 수 있습니다. 기본적으로 마우스 상호작용은 단일 터치 제스처를 시뮬레이션합니다.
Studio는 이중 터치 제스처를 시뮬레이션하기 위한 다음 단축키를 지원합니다. 단축키는 Studio의 단축키 사용자 정의 메뉴를 통해 사용자 정의할 수도 있습니다.
| Windows | Mac | 행동 |
|---|---|---|
| Alt | ⌥ | 마우스를 드래그하는 동안 누르고 있으면 집기 및 회전을 시뮬레이션합니다. |
| AltShift | ⌥Shift | 마우스를 드래그하는 동안 누르고 있으면 이중 터치 팬을 시뮬레이션합니다. |
이중 터치 단축키가 활성화되면 두 개의 원이 나타나 시뮬레이션된 터치의 위치를 나타냅니다.

컨트롤러 시뮬레이션
컨트롤러 에뮬레이터는 Studio의 테스트 메뉴에서 접근할 수 있으며, 게임패드 입력을 Studio에서 직접 정확하게 에뮬레이트할 수 있습니다. 기본 컨트롤러는 일반 게임패드이며, 상단 왼쪽 픽커 메뉴에서 다른 옵션을 선택할 수 있습니다.

플레이 테스트 중에는 마우스를 사용하여 가상 컨트롤러로 게임을 제어할 수 있습니다.
상단 오른쪽 모서리에서 매핑 수정을 클릭하면 가상 컨트롤러의 키 매핑을 보기 위해 수정할 수 있습니다. 예를 들어 E는 ButtonL2로, 9는 ButtonA로 매핑할 수 있습니다. 이러한 매핑은 다른 Studio 설정(컨트롤러별, 사용자별, 컴퓨터별)과 동일하게 저장되며, 에뮬레이터 창과 3D 뷰포트 모두에서 게임패드 이벤트로 변환됩니다.
네트워크 시뮬레이션
네트워크 시뮬레이션은 스튜디오 설정의 네트워크 탭에서 접근할 수 있으며 (AltS on Windows; ⌥S on Mac), 지연, 패킷 손실 및 지터와 같은 실제 네트워크 조건을 시뮬레이션하여 플레이 테스트 연결을 테스트할 수 있습니다. 이는 서버 권한을 사용하는 게임을 테스트하는 데 특히 유용합니다. 예측 및 롤백/재시뮬레이션 메커니즘은 네트워킹 조건에 민감하기 때문입니다. 또한, 손실되거나 순서가 뒤바뀔 수 있는 UnreliableRemoteEvents를 테스트하는 데도 유용합니다.
네트워크 시뮬레이션 설정은 테스트, 서버 & 클라이언트, 및 팀 테스트 연결에 모두 적용됩니다. 팀 테스트의 경우, 지연 및 손실 수치는 컴퓨터에서 Roblox 서버까지의 지연 및 패킷 손실에 추가됩니다. 예를 들어, 팀 테스트에서 네트워크 핑이 일반적으로 20밀리초이고 스튜디오 설정에서 50밀리초의 지연을 구성하면, 70밀리초의 핑을 보게 됩니다.
| 스튜디오 설정 | 속성 | 설명 |
|---|---|---|
| 최소 수신 지연 | InboundNetworkMinDelayMs | 서버에서 클라이언트 방향으로 플레이 테스트 연결에 지연을 추가합니다. |
| 최소 송신 지연 | OutboundNetworkMinDelayMs | 클라이언트에서 서버 방향으로 플레이 테스트 연결에 지연을 추가합니다. |
| 수신 지터 | InboundNetworkJitterMs | 서버에서 클라이언트 방향으로 플레이 테스트 연결에 지터를 추가합니다. |
| 송신 지터 | OutboundNetworkJitterMs | 클라이언트에서 서버 방향으로 플레이 테스트 연결에 지터를 추가합니다. |
| 수신 패킷 손실 | InboundNetworkLossPercent | 서버에서 클라이언트로의 플레이 테스트 연결에서 패킷이 손실될 확률을 설정합니다. |
| 송신 패킷 손실 | OutboundNetworkLossPercent | 클라이언트에서 서버로의 플레이 테스트 연결에서 패킷이 손실될 확률을 설정합니다. |
위의 각 설정에서 다음 개념이 적용됩니다:
- 수신은 서버에서 클라이언트로의 트래픽을 의미합니다. 송신은 클라이언트에서 서버로의 트래픽을 의미합니다.
- 지연 — 네트워크 핑은 왕복 시간으로 측정됩니다. 20밀리초의 네트워크 핑을 시뮬레이션하려면 최소 수신 지연과 최소 송신 지연을 각각 10밀리초로 설정합니다.
- 지터 — 지터는 구성된 최소 지연 위에 추가됩니다. 지터는 UnreliableRemoteEvents와 같은 일부 트래픽이 순서가 뒤바뀌어 도착하게 만들 수 있습니다.
- 정밀도 — 패킷당 지연은 지연과 지터에서 샘플링되며 1밀리초로 반올림됩니다.
- 패킷 손실 — 각 패킷은 구성된 확률에 따라 무작위로 손실될 수 있습니다.
스크립트 테스트
위의 대화형 테스트 도구 외에도, 스튜디오는 플러그인 또는 빌드 파이프라인에서 프로그래밍 방식으로 테스트를 수행할 수 있는 서비스를 제공합니다. 이 세 가지 서비스는 스튜디오 전용이며 게시된 경험에서 실행할 경우 아무런 작업도 수행하지 않습니다.
| 서비스 | 목적 |
|---|---|
| StudioDeviceSimulatorService | 스크립트 가능한 장치 에뮬레이션. 장치 프리셋을 탐색하고, 활성 장치를 전환하고, 해상도 및 DPI를 재정의하고, 방향 및 배율을 제어하며, 디스크에 지속되는 사용자 정의 장치 프로필을 생성합니다. |
| StudioTestService | 프로그래밍 방식의 다중 클라이언트 시뮬레이션. 최대 8개의 시뮬레이션된 클라이언트와 함께 서버를 시작하고, 세션 중간에 플레이어를 추가하고, 테스트에 인수를 전달하고, 클라이언트 연결 해제를 트리거하고, 서버에서 테스트를 종료합니다. |
| VirtualInput | 실제 하드웨어 입력처럼 처리되는 시뮬레이션된 마우스, 키보드 및 포인터 이벤트. UserInputService:CreateVirtualInput()에서 인스턴스를 얻습니다. |
이러한 서비스는 장치 간 멀티플레이어 테스트(장치 프로필을 순환하고 각 장치에서 멀티플레이어 테스트를 시작), 플레이어 참여/퇴장 스트레스 테스트, 방향 회귀 테스트 및 엔드 투 엔드 UI 흐름 자동화를 포함합니다.
VR 헤드셋
게임에 가상 현실(VR) 헤드셋을 지원하려면, 스튜디오에서 VR을 테스트하거나 에뮬레이트해야 합니다.
VR 에뮬레이션
VR 에뮬레이션을 사용하면 물리적 헤드셋 없이 스튜디오에서 VR 게임을 테스트할 수 있습니다. 다른 장치를 에뮬레이트하는 것처럼, 장치 선택기 메뉴를 사용하여 Meta Quest 2 또는 Meta Quest 3 중 하나를 선택합니다. 컨트롤러 에뮬레이터는 헤드셋에 적합한 컨트롤러를 자동으로 선택합니다.


헤드셋과 여러 개의 모션 추적이 가능한 컨트롤러의 조합은 VR 에뮬레이션을 더 복잡하게 만듭니다:
모션 추적 에뮬레이션을 위해 Alt1 (⌥1)을 눌러 마우스를 뷰포트에 고정하거나 해제합니다.
Shift← 또는 Shift→를 사용하여 헤드셋, 왼쪽 컨트롤러 및 오른쪽 컨트롤러의 일반적인 조합 간에 전환합니다. 예를 들어, 왼쪽 컨트롤러 버튼으로 앞으로 걸어가면서 주위를 둘러보려면 헤드셋 옵션을 사용할 수 있지만, 목표를 조준하기 위해 모션 컨트롤을 사용해야 할 때는 오른쪽 컨트롤러로 전환할 수 있습니다.
헤드셋 구성
스튜디오는 OpenXR와 호환되는 모든 VR 헤드셋에 대한 테스트를 지원합니다. OpenXR은 VR에 대한 접근을 제공하는 오픈 소스 산업 표준입니다.
스튜디오에서 VR 테스트를 활성화하려면, 헤드셋을 PC에 연결하고 스튜디오를 시작하기 전에 OpenXR 런타임을 구성해야 합니다. 이미 스튜디오를 시작한 경우, 종료하고 먼저 구성 단계를 완료하세요.
헤드셋이 하나만 있는 경우, 해당 VR 앱을 설치하면 런타임이 자동으로 구성됩니다. 여러 개의 헤드셋이 있는 경우, 런타임을 수동으로 설정하고 테스트에 사용할 헤드셋만 구성해야 합니다.
다음 단계는 가장 일반적인 두 가지 VR 앱에 대한 것입니다:
- HTC Vive 및 Valve Index와 같은 헤드셋을 위한 SteamVR.
- Meta Quest 및 Oculus Rift와 같은 헤드셋을 위한 Oculus.
- 컴퓨터에 SteamVR 앱을 설치하고 엽니다.
- SteamVR 설정에서 개발자 탭을 선택합니다. 그런 다음 고급 설정 표시를 선택합니다.
- SteamVR을 OpenXR 런타임으로 설정합니다.
- 시스템 버튼을 눌러 컨트롤러를 켭니다. 비프음이 들릴 때까지 버튼을 누릅니다.
- 컨트롤러를 끄려면 시스템 버튼을 누르고 같은 비프음이 들릴 때까지 누르고 있습니다.
단계를 올바르게 따르면, SteamVR 앱의 상태 아이콘과 하드웨어의 상태 표시등이 모두 녹색으로 표시되어 구성 완료를 나타냅니다.
Roblox Quest 앱
헤드셋을 컴퓨터에 연결하지 않고도 Quest의 Roblox 앱에서 게임을 테스트할 수 있습니다. 이 모드에서 헤드셋에서 게임에 접근하는 방법은 다음과 같습니다:
- 스튜디오에서 게임을 게시하고 게임을 비공개로 설정합니다.
- 크리에이터 대시보드 또는 스튜디오의 링크를 사용하여 웹 브라우저에서 게임 페이지를 엽니다.
- 게임 페이지에서 즐겨찾기 아이콘을 클릭하여 게임을 즐겨찾기에 추가합니다.
- 헤드셋을 사용하여 독립 실행형 Roblox 앱을 엽니다.
- 홈페이지의 즐겨찾기 섹션으로 스크롤하여 게임을 실행합니다.
스튜디오 VR 모드
헤드셋 구성을 완료한 후, 다음 단계를 통해 스튜디오 VR 테스트 모드를 활성화할 수 있습니다:
- 파일 메뉴에서 스튜디오 설정을 선택합니다.
- 렌더링을 선택합니다.
- 일반 설정에서 VR 모드 활성화를 켭니다.
이제 사용 가능한 모든 플레이 테스트 옵션을 사용하여 VR 헤드셋으로 게임을 테스트할 수 있습니다. VR 테스트 세션 중에 헤드셋 케이블이 분리되거나 헤드셋에서 Roblox Studio Beta 앱을 닫으면, 테스트를 다시 실행하기 위해 스튜디오를 재시작해야 합니다.
플레이어 에뮬레이션
게임 현지화 및 콘텐츠 정책을 자세히 에뮬레이트하려면, 스튜디오의 테스트 메뉴에서 접근할 수 있는 플레이어 에뮬레이터를 통해 테스트할 수 있습니다.
에뮬레이터 창이 열리면 테스트 프로필 활성화를 켭니다. 에뮬레이션은 창을 닫더라도 토글 상태(활성화 또는 비활성화)를 유지합니다.
창 아래쪽에는 일반적으로 사용되는 옵션이 포함되어 있습니다:
| 옵션 | 설명 |
|---|---|
| 로케일 | 플레이 테스트 중에 현지화된 언어를 에뮬레이트할 수 있습니다. |
| 유사 현지화 | 유사하지만 약간 다른 문자로 교체하여 어떤 문자열이 번역 시스템을 통과하는지 쉽게 식별할 수 있도록 합니다. 이를 활성화하면 에뮬레이션 언어를 변경하지 않고도 비현지화된 텍스트를 식별할 수 있습니다. 예를 들어:
|
| 신장 | 슬라이더를 통해 정의된 비율만큼 텍스트 문자열을 신장시킵니다. 예를 들어:
|
| 지역 | 플레이 테스트 중에 플레이어의 국가/지역을 에뮬레이트할 수 있습니다. 이 선택은 GetPolicyInfoForPlayerAsync()에 설명된 대로 창의 다른 토글 및 체크박스에 영향을 미칠 수 있습니다. |