언리얼 엔진에서는 콘텐츠 애셋을 내부적으로 사용되는 특정 포맷으로 저장하는데, 텍스처 데이터에는 PNG, 오디오에는 WAV 식입니다. 그러나 이러한 콘텐츠들은 다양한 플랫폼에 맞는 여러가지 포맷으로 변환해줘야 합니다. 해당 플랫폼이 독점 포맷을 사용한다든가, 언리얼의 애셋 저장 포맷을 지원하지 않는다든가, 메모리 또는 퍼포먼스 측면에서 더욱 효율적인 포맷이 존재한다든가 하는 이유때문입니다. 이렇게, 내부 포맷에서 플랫폼 전용 포맷으로 콘텐츠를 변환하는 프로세스를 일컬어 cooking, 쿠킹이라 합니다.
명령줄에서 쿠킹하기
게임 데이터 쿠킹을 위해서는, Cook 커맨드렛 을 사용해야 합니다.
기본적인 쿠킹 방법은 다음과 같습니다:
UnrealEditor.exe <GameName or uproject> -run=cook -targetplatform=<Plat1>+<Plat2> [-cookonthefly] [-iterate] [-map=<Map1>+<Map2>]
또는
UnrealEditor.exe <GameName> -run=cook -targetplatform=<Plat1>+<Plat2> [-cookonthefly] [-iterate] [-map=<Map1>+<Map2>]
커맨드렛은 -run=cook
을 붙여 실행해야 하며, 쿠킹할 플랫폼 역시 지정해 줘야 합니다. 그러면 지정된 플랫폼에 대해
쿠킹된 데이터가 생성되어 아래 위치에 저장됩니다:
<Game>/Saved/Sandboxes/Cooked-<Platform>
옵션
옵션 | 설명 |
---|---|
-targetplatform=<Plat1>+<Plat2> |
쿠킹할 플랫폼을 지정합니다. 사용가능한 플랫폼은 WindowsNoEditor, WindowsServer, LinuxServer, IOS, Android 입니다. |
-iterate |
쿠커가 철지난(OOD) 항목만 쿠킹하도록 설정합니다. 이 옵션이 없으면 샌드박스 디렉터리를 삭제하고 모든 것을 다시 쿠킹합니다. |
-Map=<Map1>+<Map2>+... |
빌드할 맵을 지정합니다. |
-cookonthefly |
쿠커가 서버 모드에서 시작되도록 합니다. 그러면 게임 접속을 기다리다가 쿠킹된 데이터를 요청에 따라 제공해 주는 서버가 실행됩니다. 이 옵션이 사용되면 게임은 명령줄에 -filehostip= |
-MapIniSection=<ini file section> |
맵 이름이 포함된 ini 파일 섹션을 지정합니다. 쿠커는 지정된 섹션에 지정된 모든 맵을 쿠킹합니다. |
-UnVersioned |
쿠킹된 패키지 전부를 버전 없이 저장합니다. 그러면 이들은 로드시 현재 버전인 것으로 간주됩니다. |
-CookAll |
모두 쿠킹합니다. |
-Compressed |
쿠커더러 쿠킹된 패키지를 압축하라 이릅니다. |