환경 설정의 배포 준비
기능 구현과 성능 점검을 마쳤다면, 이제 결과물을 실제 사용자 환경으로 옮길 준비를 할 단계입니다.
10장 배포 및 유지보수는 게임을 플레이어에게 전달한 뒤에도 안정적으로 운영하기 위한 실무 흐름을 다룹니다. 그 시작점은 환경 설정의 배포 준비이며, 개발 환경에서만 동작하던 설정을 실제 사용자 환경에서도 문제없이 재현되도록 점검하는 과정입니다.
이번 절에서는 배포 직전 확인해야 할 설정 항목과 준비 순서를 정리합니다. 이 과정을 거치면 릴리스 직후 발생하기 쉬운 실행 환경 이슈를 크게 줄일 수 있습니다.
배포 준비의 중요성
배포 준비는 게임 개발의 마지막 단계이자, 플레이어에게 게임의 첫인상을 결정짓는 매우 중요한 과정입니다.
- 안정적인 실행 보장: 개발 환경과 플레이어 환경은 다를 수 있습니다. 배포 준비는 다양한 사용자 환경에서 게임이 문제없이 실행되도록 보장합니다.
- 최적의 성능 제공: 최종 빌드에 필요한 최적화 설정들이 올바르게 적용되었는지 확인하여, 모든 플레이어에게 쾌적한 경험을 제공합니다.
- 파일 크기 및 로딩 시간 최적화: 불필요한 데이터를 제거하고 효율적인 패키징을 통해 게임의 설치 용량과 로딩 시간을 줄입니다.
- 보안 및 저작권 보호: 게임 데이터를 적절히 암호화하거나 패키징하여 무단 변조 및 저작권 침해를 방지합니다.
- 플랫폼별 요구사항 충족: 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 선택 기준과 필수 체크 항목을 함께 확인하세요.
엔진 (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와 충돌 메시 최적화가 모든 메시에 올바르게 적용되었는지 재확인합니다.
- 퀄리티 체크: 모든 텍스처, 머티리얼, 메시가 시각적 결함 없이 의도한 대로 표시되는지 최종적으로 검토합니다.
빌드 및 테스트 준비
배포 준비의 마지막 단계는 실제 빌드를 생성하고 테스트하는 것입니다.
패키징 (Packaging)
파일(File) > 프로젝트 패키징(Package Project)메뉴를 사용하여 원하는 플랫폼(Windows,Android등)으로 게임을 패키징합니다.Build Configuration은Shipping으로 설정하는 것을 잊지 마세요.- 패키징 과정에서 오류가 발생하면
출력 로그(Output Log)창을 확인하여 원인을 분석하고 해결합니다. (예: 컴파일 오류, 에셋 참조 오류)
최종 테스트 (Final Testing)
- 다양한 환경 테스트: 가능한 한 다양한 하드웨어 스펙(저사양/고성능)과 운영체제 버전에서 빌드된 게임을 테스트합니다.
- 버그 보고 및 수정: 발견된 버그는 신속하게 보고하고 수정합니다.
- 로딩 시간 측정: 게임의 로딩 시간이 허용 가능한 범위 내에 있는지 측정합니다.
- 성능 측정:
Stat FPS등을 사용하여 최종 빌드에서도 목표 FPS가 달성되는지 확인합니다.
환경 설정의 배포 준비는 게임 개발의 결실을 맺는 중요한 단계입니다. 이 절에서 배운 프로젝트 설정, 플랫폼별 설정, 코드/콘텐츠 정리, 그리고 최종 빌드 및 테스트 준비 과정을 철저히 거쳐 여러분의 게임이 플레이어에게 완벽한 상태로 전달될 수 있도록 노력해야 합니다. 이 모든 과정은 여러분의 게임이 성공적으로 출시되고, 플레이어들에게 좋은 인상을 남기는 데 결정적인 역할을 할 것입니다.