본문으로 건너뛰기
Unreal Engine 멀티플레이LESSON 05

PIE 멀티플레이 테스트 환경 만들기

난이도입문 → 초급
예상 시간60분
선수지식4강의 서버 모델 선택 기록

5강. PIE 멀티플레이 테스트 환경 만들기

1. 이번 강의에서 해결할 문제​

한 창에서 정상인 기능은 네트워크 검증이 아닙니다. 창마다 설정이 달라지거나 어느 창이 서버인지 모르면 버그를 재현할 수 없습니다. 특히 리슨 호스트는 권한과 로컬 제어를 함께 가지므로 원격 클라이언트에서만 생기는 실패를 숨깁니다.

2. 학습 목표​

3. 핵심 개념​

Editor의 Play 메뉴와 Editor Preferences의 Multiplayer Options에서 플레이어 수, Net Mode, Single Process, Separate Server와 창 크기를 조정할 수 있습니다. 메뉴 문구는 UE5 세부 버전에 따라 다르므로 Testing Multiplayer 공식 문서의 현재 버전을 확인합니다.

Single Process는 시작이 빠르지만 여러 PIE World가 한 Editor 프로세스와 Output Log를 공유합니다. 별도 프로세스는 실제 실행 경계와 비슷하고 창·로그 파일을 분리하기 쉽지만 시작이 느립니다. Travel과 Online Subsystem은 PIE 특유의 접두사와 프로세스 공유 때문에 패키지와 다르게 동작할 수 있으므로 후반 강의에서 별도 실행을 추가합니다.

4. 단계별 실습​

프로필 A · 빠른 리슨 회귀

  1. Play Mode를 New Editor Window (PIE)로 설정합니다.
  2. Number of Players를 2로 설정합니다.
  3. Net Mode를 Play As Listen Server로 둡니다.
  4. 창 크기를 800×450 정도로 맞춰 두 창을 동시에 봅니다.
  5. 서버 창과 Client 1 창에서 이동·Spawn·로그를 확인합니다.

프로필 B · 데디케이티드 경계

  1. Play As Client 또는 Launch Separate Server를 선택합니다.
  2. 클라이언트 창은 2개, 별도 서버는 렌더링하지 않게 실행합니다.
  3. 서버 프로세스 로그와 각 클라이언트 창을 구분합니다.
  4. GetFirstPlayerController()나 Widget을 요구하는 서버 코드가 없는지 확인합니다.

로그 구분 규칙

CaptureArenaLog.h
#pragma once

#include "CoreMinimal.h"

DECLARE_LOG_CATEGORY_EXTERN(LogCaptureNet, Log, All);

#define CA_NET_LOG(Owner, Verbosity, Format, ...) \
UE_LOG(LogCaptureNet, Verbosity, TEXT("[%s][%s] " Format), \
*UEnum::GetValueAsString((Owner)->GetNetMode()), \
*((Owner)->GetName()), ##__VA_ARGS__)

각 PIE 인스턴스의 메시지가 한 Output Log에 섞이면 NetMode, Actor 이름과 필요하면 GetWorld()->GetPackage()->GetPIEInstanceID()를 함께 기록합니다. 별도 프로세스에서는 각 프로세스 콘솔 또는 프로젝트의 Saved/Logs 파일을 시작 시각·PID와 함께 보관합니다.

Network Emulation

Editor Preferences의 Network Emulation에서 지연·손실 프로필을 활성화합니다. 첫 기준은 정상, 100ms 지연, 5% 손실 세 가지입니다. 극단적인 값은 기능이 아니라 복구·타임아웃 UX를 확인할 때 사용합니다.

5. 코드가 동작하는 이유​

같은 로그 메시지라도 NetMode와 Actor 복사본이 다르면 의미가 다릅니다. 접두사는 “어느 프로세스/World/Actor에서 실행됐는가”를 먼저 증명해 호스트 창에서만 성공한 코드를 찾게 합니다. 두 프로필을 저장하면 기능마다 리슨과 별도 서버를 같은 순서로 반복할 수 있습니다.

6. 자주 하는 실수와 해결법​

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

MINI QUIZ

PIE 멀티플레이 테스트 환경 만들기 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“PIE 멀티플레이 테스트 환경 만들기”에서 다음 단계로 넘어가기 전에 확인할 핵심은 무엇인가요?
  2. 문제 2“PIE 멀티플레이 테스트 환경 만들기” 실습 중 ‘Selected Viewport 한 창만 테스트’ 상황을 발견했습니다. 본문과 일치하는 설명은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

5강. PIE 멀티플레이 테스트 환경 만들기 미완료 상태