패키징 흐름

패키징 실행 산출물

Unreal 패키징 실패는 컴파일 오류만으로 설명되지 않는다. Cook 대상 맵, 동적 로드 에셋, Primary Asset 설정, Development와 Shipping 차이, platform-specific plugin이 함께 맞아야 빌드된 실행 파일이 실제 콘텐츠를 찾는다.

01

빌드 구성 선택

Development는 진단용 로그와 디버깅을 남기고 Shipping은 최종 성능과 노출 제한을 우선한다.

둘의 동작 차이를 미리 확인한다
02

Cook 대상 확정

포함할 맵, asset directory, Primary Asset Label을 명시해 동적 로드 누락을 막는다.

에디터에서 보이는 asset이 자동 포함되는 것은 아니다
03

로그 해석

Cook warning, missing reference, redirector, shader compile 실패를 빌드 로그에서 먼저 잡는다.

warning이 런타임 검은 화면으로 이어질 수 있다
04

패키지 실행

에디터가 아니라 패키징된 exe나 앱에서 첫 맵, travel, save path, config를 확인한다.

PIE 통과와 packaged 통과는 다르다
05

배포 산출 확인

pak, chunk, prerequisites, platform 인증 파일이 대상 환경에 맞게 들어갔는지 본다.

파일 하나 누락이 설치 실패를 만든다
Cook
사용 asset 굽기 hard reference와 soft reference가 모두 포함 경로에 들어갔는지 본다.
동적 경로 로드는 별도 등록이 필요하다
시작과 전환 맵 Game Default Map, Server Default Map, travel 대상 맵을 같이 확인한다.
패키지 첫 화면 검은색이면 맵 설정부터 본다
Config
빌드 구성 차이 Development와 Shipping에서 로그, 콘솔, 최적화, crash report가 다르게 동작한다.
디버그 전용 코드가 Shipping에서 사라질 수 있다
Plugin
플랫폼 지원 사용 plugin이 대상 플랫폼 빌드를 지원하는지 확인한다.
에디터 전용 모듈은 런타임 패키지에 넣으면 안 된다

패키지 검수

빈 환경 실행 에디터가 없는 머신에서 실행해 missing runtime과 경로 문제를 잡는다.
로그 저장 패키지 실행 로그 위치를 확인하고 첫 오류와 첫 warning을 읽는다.
동적 로드 메뉴, 레벨 이동, 스킨 변경처럼 soft reference asset을 실제로 열어본다.