환경 설정의 배포 준비
프로젝트·플랫폼·코드·콘텐츠 설정을 릴리스 기준으로 최종 점검해 개발 환경과 사용자 빌드의 차이를 줄입니다.
기능 구현과 성능 점검을 마쳤다면, 이제 결과물을 실제 사용자 환경으로 옮길 준비를 할 단계입니다.
10장 배포 및 유지보수는 게임을 플레이어에게 전달한 뒤에도 안정적으로 운영하기 위한 실무 흐름을 다룹니다.
그 시작점은 환경 설정의 배포 준비이며, 개발 환경에서만 동작하던 설정을 실제 사용자 환경에서도 문제없이 재현되도록 점검하는 과정입니다.
이번 절에서는 배포 직전 확인해야 할 설정 항목과 준비 순서를 정리합니다.
이 과정을 거치면 릴리스 직후 발생하기 쉬운 실행 환경 이슈를 크게 줄일 수 있습니다.
맵, 패키징, 플랫폼 요구사항, 코드와 콘텐츠 정리를 릴리스 전에 한 흐름으로 확인한다.
- 1Maps
게임 시작 맵과 게임 모드가 배포용으로 지정됐는지 본다.
- 2Packaging
Shipping, Pak, 포함 맵 목록 같은 패키징 기준을 맞춘다.
- 3Platform
아이콘, 서명, SDK, 최소 버전을 플랫폼별로 확인한다.
- 4Cleanup
디버그 출력과 미사용 콘텐츠를 정리한다.
배포 준비의 중요성
배포 준비는 게임 개발의 마지막 단계이자, 플레이어에게 게임의 첫인상을 결정짓는 매우 중요한 과정입니다.
- 안정적인 실행 보장: 개발 환경과 플레이어 환경은 다를 수 있습니다. 배포 준비는 다양한 사용자 환경에서 게임이 문제없이 실행되도록 보장합니다.
- 최적의 성능 제공: 최종 빌드에 필요한 최적화 설정들이 올바르게 적용되었는지 확인하여, 모든 플레이어에게 쾌적한 경험을 제공합니다.
- 파일 크기 및 로딩 시간 최적화: 불필요한 데이터를 제거하고 효율적인 패키징을 통해 게임의 설치 용량과 로딩 시간을 줄입니다.
- 보안 및 저작권 보호: 게임 데이터를 적절히 암호화하거나 패키징하여 무단 변조 및 저작권 침해를 방지합니다.
- 플랫폼별 요구사항 충족: PC, 모바일, 콘솔 등 각 플랫폼이 요구하는 고유한 배포 기준과 인증 절차를 충족시킵니다.
프로젝트 설정 (Project Settings) 최종 점검
배포 준비는 패키징 버튼을 누르기 전 프로젝트 설정, 플랫폼 설정, 콘텐츠 정리, 테스트 기준을 한 번에 맞추는 과정입니다.
- 프로젝트 정보
름, 설명, 아이콘, 기본 맵처럼 사용자에게 보이는 정보를 정리합니다.
- 플랫폼 옵션
해상도, 입력, 렌더링 품질, 권한 설정을 목표 플랫폼에 맞춥니다.
- 콘텐츠 정리
미사용 에셋, 임시 폴더, 디버그 블루프린트를 패키징 전에 제거합니다.
- 최종 테스트
깨끗한 실행 환경에서 시작, 저장, 종료, 재실행 흐름을 확인합니다.
편집(Edit) > 프로젝트 세팅(Project Settings) 메뉴는 게임 배포를 위한 핵심적인 전역 설정들을 포함하고 있습니다.
다음 항목들을 최종 점검합니다.
프로젝트 (Project) 섹션
-
Maps & Modes (맵 및 모드)
-
Default Maps (기본 맵)
Editor Startup Map: 에디터 시작 시 로드될 맵 (개발용).Game Default Map: 게임 시작 시 로드될 맵 (배포용). 반드시 게임의 시작 맵으로 설정합니다.Transition Map: 레벨 로딩 중 표시될 맵 (선택 사항).
- Default GameMode: 게임의 기본
GameMode클래스가 올바르게 설정되었는지 확인합니다.
-
Default Maps (기본 맵)
-
Packaging (패키징)
List of maps to include in a packaged build: 빌드에 포함할 맵 목록을 정의합니다. 게임에 사용되는 모든 맵이 여기에 포함되어야 합니다.Build Configuration:Development(개발용),Shipping(최종 배포용),DebugGame(디버그 정보 포함) 중Shipping을 선택합니다.Shipping빌드는 최적화가 가장 잘 되어 있고 디버그 정보가 거의 포함되지 않아 가장 작고 빠릅니다.Use Pak File: 일반적으로 활성화하여 게임 데이터를.pak파일로 압축합니다. 이는 파일 크기 감소 및 로딩 속도 향상에 도움이 됩니다.For Distribution: 최종 배포를 위한 빌드임을 나타내며, 추가적인 최적화 및 보안 설정이 적용됩니다. (서명, 암호화 등)Cook everything in the project content directory: 모든 콘텐츠를 쿠킹(Cook)할지 여부. 일반적으로 활성화하지만, 특정 콘텐츠만 빌드하는 경우 비활성화할 수 있습니다.
-
Descriptions (설명)
Project Name,Company Name,Copyright Notice: 게임의 이름, 회사명, 저작권 정보 등을 정확히 입력합니다. 이는 설치 파일이나 실행 파일 정보에 표시될 수 있습니다.Project Version: 게임의 현재 버전 정보를 명시합니다.
패키징 항목은 서로 의존성이 높아 한 번에 점검해야 누락을 줄일 수 있습니다.
아래 시각자료로 Build Configuration 선택 기준과 필수 체크 항목을 함께 확인하세요.
한 항목만 맞아도 다른 설정이 빠지면 실행 실패나 누락 에셋 문제가 생길 수 있으므로, 프로젝트 섹션의 핵심 값을 함께 점검합니다.
- 기본 맵과 GameMode
maps 실행 시작점이 개발용 맵이 아니라 실제 시작 맵을 가리키는지 확인합니다. ✓ Game Default Map ✓ Default GameMode
- Build Configuration
shipping 최종 배포용은 디버그 정보와 콘솔 기능이 줄어든 Shipping 기준으로 만듭니다. ✓ Shipping 선택 ✓ For Distribution 검토
- 맵 포함과 Pak 파일
package 필수 맵을 목록에 넣고, Pak 파일로 묶어 배포 파일 수와 로딩 부담을 줄입니다. ✓ List of maps ✓ Use Pak File
엔진 (Engine) 섹션
-
Rendering (렌더링)
- Frame Rate:
Fixed Frame Rate를 사용하지 않는 경우,Use Less CPU when in Background등을 통해 백그라운드 성능을 조절할 수 있습니다. Motion Blur,Anti-Aliasing Method,Global Illumination,Reflections등 9장 3절에서 다룬 렌더링 품질 설정을 최종적으로 검토하고, 목표 플랫폼에 맞는 최적의 균형점을 찾습니다. (예: 저사양 플랫폼에서는 불필요한 고품질 효과 비활성화)
- Frame Rate:
-
Input (입력)
Action Mappings및Axis Mappings: 모든 게임 컨트롤이 올바르게 매핑되었는지, 중복되거나 누락된 키는 없는지 확인합니다. (특히Escape키 같은 기본 시스템 키와의 충돌 여부)
-
Physics (물리)
Framerate and Substepping: 9장 4절에서 다룬Max Physics Delta Time,Max Substeps등의 설정이 게임의 물리 시뮬레이션 안정성에 적합한지 확인합니다.
플랫폼별 설정 (Platform Settings) 점검
각 플랫폼(Windows, Android, iOS 등)은 고유한 배포 요구사항을 가집니다.
프로젝트 세팅 > 플랫폼 (Platforms)섹션에서 대상 플랫폼을 선택하고 다음 항목들을 점검합니다.-
Windows
Executable Name: 최종 실행 파일의 이름.Icons: 게임 아이콘 설정.Packaging섹션:Install Location(기본 설치 경로),Prerequisites(필요한 외부 라이브러리) 등.
-
Android / iOS
Package Name,Version Name,Version Code: 앱의 고유 식별자, 버전 정보.Signing: 앱 서명을 위한 키스토어(Android) 또는 인증서/프로비저닝 프로파일(iOS) 설정.Build:ETC2(Android),PVRTC(iOS) 등 플랫폼별 텍스처 압축 포맷 설정.Minimum SDK Version,Target SDK Version: 지원할 최소/최대 OS 버전.Orientation: 화면 방향 설정 (Portrait/Landscape).Architecture: 64비트 (ARM64) 아키텍처 지원 여부.
-
콘솔 (Console)
- 각 콘솔 제조사(Sony, Microsoft, Nintendo)의 개발자 프로그램에 등록하여 SDK 및 배포 가이드를 따릅니다. 언리얼 엔진은 해당 SDK와 연동하여 빌드를 생성합니다.
코드 및 콘텐츠 최종 점검
환경 설정 외에도 최종 빌드를 위한 코드와 콘텐츠 점검이 필요합니다.
코드 및 블루프린트 정리
- 디버그 코드 제거: 개발 과정에서 사용했던
Print String,Draw Debug Sphere등의 디버그 노드를 모두 제거하거나,WITH_EDITORONLY_DATA와 같은 조건부 컴파일 매크로 안에 넣어 최종 빌드에서 제외되도록 합니다. - 사용하지 않는 코드/블루프린트 제거: 더 이상 사용되지 않는 함수, 변수, 이벤트 그래프 노드 등은 정리합니다.
- 주석 및 문서화: 최종 코드에 대한 주석과 문서화를 통해 향후 유지보수를 용이하게 합니다.
콘텐츠 정리 및 검토
- 사용하지 않는 에셋 제거:
콘텐츠 브라우저에서감사(Audit) > 참조 뷰어(Reference Viewer)를 사용하여 특정 에셋이 어디에서 사용되는지 확인하고, 사용되지 않는 에셋은 제거합니다. - 중복 에셋 제거: 동일한 에셋이 여러 개 복제되어 존재하지 않는지 확인하고 하나로 통일합니다.
- LOD 및 충돌 메시 최종 확인: 9장 2절에서 다룬 LOD와 충돌 메시 최적화가 모든 메시에 올바르게 적용되었는지 재확인합니다.
- 퀄리티 체크: 모든 텍스처, 머티리얼, 메시가 시각적 결함 없이 의도한 대로 표시되는지 최종적으로 검토합니다.
빌드 및 테스트 준비
패키징 직전에 프로젝트 식별자, 입력, 렌더링, 품질 설정을 순서대로 묶어 누락을 줄입니다.
- 1프로젝트 식별
Project Name, Company Name, 버전, 아이콘과 시작 맵을 확정합니다. 메타데이터
- 2입력과 플랫폼
키보드, 패드, 터치 입력 매핑과 플랫폼별 해상도 정책을 대조합니다. 입력 일관성
- 3렌더링 기본값
품질 프리셋, 셰이더 모델, 모바일 HDR 같은 설정을 대상 장치 기준으로 고정합니다. 성능 기준
- 4콘텐츠 참조
사용하지 않는 에셋과 누락 참조를 정리한 뒤 쿠킹 대상 폴더를 확인합니다. 쿠킹 안전
- 5클린 빌드
캐시를 비운 환경에서도 같은 결과가 나오는지 확인합니다.
- 6시작 경로
실행 파일에서 메뉴, 로딩, 첫 플레이까지 끊김이 없는지 봅니다.
- 7설정 기록
변경된 Project Settings 항목을 릴리스 노트와 맞춥니다.
배포 준비의 마지막 단계는 실제 빌드를 생성하고 테스트하는 것입니다.
패키징 (Packaging)
파일(File) > 프로젝트 패키징(Package Project)메뉴를 사용하여 원하는 플랫폼(Windows,Android등)으로 게임을 패키징합니다.Build Configuration은Shipping으로 설정하는 것을 잊지 마세요.- 패키징 과정에서 오류가 발생하면
출력 로그(Output Log)창을 확인하여 원인을 분석하고 해결합니다. (예: 컴파일 오류, 에셋 참조 오류)
최종 테스트 (Final Testing)
- 다양한 환경 테스트: 가능한 한 다양한 하드웨어 스펙(저사양/고성능)과 운영체제 버전에서 빌드된 게임을 테스트합니다.
- 버그 보고 및 수정: 발견된 버그는 신속하게 보고하고 수정합니다.
- 로딩 시간 측정: 게임의 로딩 시간이 허용 가능한 범위 내에 있는지 측정합니다.
- 성능 측정:
Stat FPS등을 사용하여 최종 빌드에서도 목표 FPS가 달성되는지 확인합니다.
Shipping 빌드가 만들어졌다는 사실보다, 설치 후 시작과 종료까지 실제 플레이어 환경에서 재현되는지가 더 중요합니다.
- Shipping 빌드 생성
package 개발용 로그와 에디터 전용 데이터가 빠진 배포 구성을 사용합니다.
- 깨끗한 환경 설치
install 엔진이 없는 장비에서 실행 파일, 권한, 필수 런타임을 확인합니다.
- 핵심 플레이 경로
scenario 시작, 로딩, 저장, 종료, 재실행까지 최소 성공 경로를 밟습니다.
- 성능 기준 확인
measure 목표 FPS, 로딩 시간, 메모리 사용량이 허용 범위인지 기록합니다.
- 멈춰야 하는 신호
hold 시작 맵 누락, 검은 화면, 저장 데이터 손상 hold 패키징 로그의 누락 에셋, 서명 오류, 권한 실패 hold 목표 장비에서 프레임과 로딩 시간이 기준선 초과
- 빌드 실행 통과 조건
설치 런타임 의존성 포함 실행 시작 맵 진입 확인 기록 측정값과 버전 태그 보관
배포 준비에서는 프로젝트 설정, 플랫폼 설정, 코드/콘텐츠 정리, 최종 빌드 테스트를 체크리스트로 관리해야 합니다.
이 과정은 출시 전 오류를 줄이고 플랫폼별 요구사항을 확인하는 기준이 됩니다.
아래 점검표는 개발 중 설정을 배포 가능한 설정으로 잠글 때 함께 확인해야 하는 항목을 정리합니다.
프로젝트가 에디터에서는 정상이어도 패키징된 실행 파일에서는 시작 맵, 포함 맵, 플랫폼 설정 누락으로 실패할 수 있습니다.
- Game Default Map
시작 맵 실제 플레이 시작 지점이 테스트 맵이 아닌지 확인합니다.
- Shipping 기준
빌드 구성 최종 배포는 Shipping과 For Distribution 기준을 함께 봅니다.
- List of maps
포함 목록 필수 레벨과 로딩 경로가 패키지에 포함되는지 잠급니다.
- 아이콘과 서명
플랫폼 값 Windows, Android, iOS별 필수 값과 인증서를 점검합니다.
언리얼 프로젝트를 배포하기 전에 확인할 환경 설정 기준을 다시 정리합니다.