1 분 소요

Unreal Package Build

언리얼의 타겟 구조

타입 용도 예시 실행 파일 이름
Game 일반 게임 실행 파일 (클라 + 서버 코드 다 포함). Listen 서버 가능 TagNChase.exe
Client 클라이언트 전용. 서버 코드 완전히 제거 TagNChaseClient.exe
Server Dedicated 서버 전용. 렌더링/사운드/클라 코드 거의 없음 TagNChaseServer.exe
Editor 에디터 실행 파일 UnrealEditor.exe, TagNChaseEditor.exe
Program 커맨드라인 유틸 등 (UAT 같은 툴) UnrealPak.exe
  • 그렇기에 .Target.cs파일을 각기 정의해 주어야 함
    • 일반적으로 우리가 언리얼 프로젝트를 만들면 Editor.Target.cs 만 존재함
  • 에픽 런쳐에서 받는 엔진은 기본적으로 Server/Client 용 바이너리를 빼고 빌드한 방식
    • Listen 서버나 StandAlone 같은 게임을 만들때는 괜찮음
  • 다만 실제로 GameServer + Client 로 프로그램을 구분하려 한다면
    언리얼 소스코드를 이용해야 함
    • 정확히는 ‘엔진 소스’를 받아서 ‘빌드한 엔진’이 필요
      (WithServer = true / WithClient = true 옵션 설정)
    • 그렇기에 실제로는 C++ 엔진을 받은 후, 버전에 맞게 빌드하는 방식

필요한 과정들

  • 언리얼 버전에 맞게 엔진 설치 및 bat 실행 등에 대한 과정을 거쳐
    엔진을 설치 (해당 방식을 너무 자세히 설명하진 않을 예정)
    • Unreal Git
    • 설치 후, 언리얼 엔진 빌드하기
  • Server / Client 각각의 Target.cs 를 생성하기

  • 에디터의 Project Settings 에서 List Of maps to include in a package build
    사용할 맵들 세팅하기

  • 이후 에디터에서 Tool > Project Launcher 를 통해 빌드하기
    • ex) Client 라면
      • Show Advanced 클릭
      • variant -> WindowsClient 지정
      • Config -> Development 지정
      • Data Build -> By the book 지정
      • 패키징 버튼 클릭
  • 빌드 실패시 AppData 쪽의 UnrealEngine 쪽에서 원인을 찾을 수 있음

  • 빌드 성공시 프로젝트 폴더 > Saved 폴더 > StagedBuilds 폴더 내부에 결과물이 생성됨

댓글남기기