본문 바로가기
[ Unreal5 ]/- 언리얼엔진5 실습

언리얼엔진5 Project Packaging

by MRG 2024. 5. 30.
728x90
반응형

 

▣ 먼저 프로젝트를 패키징 하기 전에 패키징 세팅을 진행합니다.

 

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/project-section-of-the-unreal-engine-project-settings?application_version=5.3

 

언리얼 엔진 프로젝트 세팅의 프로젝트 섹션 | 언리얼 엔진 5.4 문서 | Epic Developer Community

언리얼 엔진 프로젝트 세팅의 프로젝트 섹션에 대한 레퍼런스입니다.

dev.epicgames.com

 

 

▣ Packaging메뉴에서 Build Configuration을 Shipping으로 세팅합니다. 

 

▣ 빌드 환경설정(Build Configuration)
프로젝트가 패키징 된 빌드 환경설정입니다.

▣ 다음 옵션 중에서 선택할 수 있습니다.

디버그(Debug)
게임 디버그(DebugGame)
개발(Development)
테스트(Test)
출시(Shipping)

 

 

▣ 그리고 밑에 풀 리빌드(Full Rebuild)는
활성화한 경우, 프로젝트가 패키징 될 때마다 풀 리빌드가 강제됩니다.

비활성화한 경우, 수정된 파일만 빌드되므로 반복작업 시간을 줄일 수 있습니다.

패키징을 반복작업하려는 것이 아니라면 패키징 시 풀 리빌드를 권장합니다.

 

 

▣ Description에서 프로젝트에 대한 정보 및 회사에 대한 정보를 입력합니다. 


▣ 정보(About)
섹션 설명
설명 프로젝트를 설명하는 텍스트입니다.
프로젝트 ID(Project ID) 프로젝트의 고유 식별자입니다.
프로젝트 이름(Project Name) 프로젝트의 현지화되지 않은 이름입니다.
프로젝트 버전(Project Version) 프로젝트의 버전 번호입니다.
프로젝트 섬네일(Project Thumbnail) 프로젝트의 프리뷰 섬네일입니다.


▣ 퍼블리셔(Publisher)
섹션 설명
회사 이름(Company Name) 프로젝트를 생성한 회사(제작자, 제공자)의 이름입니다.
회사 고유 이름(Company Distinguished Name) 일부 플랫폼의 퍼블리싱 툴에서 사용하는 프로젝트를 생성한 회사(제작자, 제공자)의 고유 이름입니다.
홈페이지(Homepage) 프로젝트의 홈페이지 URL입니다.
고객 지원 연락처(Support Contact) 프로젝트의 고객 지원 연락처 정보입니다.

 

 

 

▣ Maps & Modes에서 게임모드, 시작맵, 게임인스턴스를 지정합니다. 

 

 

▣ 지원 플랫폼(Supported Platforms)
여기에서는 프로젝트에서 지원되는 플랫폼을 선택할 수 있습니다. 지원되지 않는 플랫폼에서 프로젝트를 패키징, 실행 또는 쿠킹 하려고 하면 경고 메시지가 표시됩니다.

다음 옵션 중 하나 이상을 선택할 수 있습니다.

모든 플랫폼(All Platforms)
Android
IOS
Linux
LinuxARM64
TVOS
Windows

 

 

▣ 타깃 하드웨어(Target Hardware)
타깃 하드웨어
섹션 설명
프로젝트 세팅 최적화 타깃(Optimize Project Settings for)
하드웨어 클래스와 그래픽 수준을 선택합니다.

다음 옵션 중에서 선택할 수 있습니다.

타깃 하드웨어 클래스:

데스크톱(Desktop): 데스크톱 또는 콘솔

모바일(Mobile): 모바일 또는 태블릿

타깃 그래픽 수준:

최대(Maximum): 하이엔드 기능이 기본적으로 활성화되어 있습니다.

스케일 가능(Scalable): 일부 기능이 기본적으로 비활성화되어 있지만 실제 하드웨어에 따라 활성화할 수 있습니다.

 

 

 

▣ 해당 플랫폼에 Windows에서 윈도 설정에 관련된 모든 걸 설정합니다. 

 

 

▣ 설정이 완료되었다면 Platforms에서 Windows에 Shipping으로 설정하고 

 

 

▣ Package Project를 클릭하면 됩니다. 

 

 

▣ 그럼 Windows SDK에 관련된 경고창이 나옵니다. Cancel을 클릭하고

 

 

https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/

 

Windows SDK - Windows app development

The Windows SDK for Windows 11 contains headers, libraries, and tools you can use when you create apps that run on Windows.

developer.microsoft.com

 

▣ Windows SDK를 다운로드하고 설치합니다. 

 

 

 

▣ C:\Program Files\Epic Games\UE_5.3\Engine\Binaries\ThirdParty\DotNet\6.0.302\windows\host\fxr\6.0.7

hostfxr.dll를 복사하고 

 

 

▣ C:\Program Files\Epic Games\UE_5.3\Engine\Binaries\DotNET\AutomationTool

hostfxr.dll를 붙여 넣습니다. 

 

https://dotnet.microsoft.com/ko-kr/download/dotnet/8.0

 

.NET 8.0 다운로드(Linux, macOS 및 Windows)

Linux, macOS 및 Windows용 .NET 8.0 다운로드. .NET은 다양한 유형의 애플리케이션을 빌드하기 위한 무료 크로스 플랫폼 오픈 소스 개발자 플랫폼입니다.

dotnet.microsoft.com

 

▣. Net 8.0을 다운로드하여서 설치합니다. 

 

 

▣ 그리고 Visual studio Installing에서 

 

. NET desktop development
Desktop development with C++
Universal Windows Platform development
Game development with C++를 설치하고

 

C++ Game에서 Unreal Engine 설치관리자, Unreal Engine에 대한 Android IDE 지원, Unreal Engine 테스트 어댑터도 같이 설치합니다. 

 

 

▣ 컴퓨터를 재시작 후 에픽게임즈에서 검증을 합니다. 

 

 

 

▣ 상황에 따라 밑에 옵션을 체크할지 말지를 결정해야 합니다. 

 Shipping상태에서 패키징을하면 모두다 패키징하지 않기 때문입니다. 

 

▣ Exclude editor content when cooking
편집기 전용 콘텐츠를 Cook에서 제외합니다.
체크하면 Unreal Editor에서만 사용되는 에셋(예: 편집기용 UI, 디버깅용 콘텐츠 등)이 패키징되지 않습니다.
이 옵션을 켜는 것이 권장되며, 패키징 크기를 줄이고 실행 성능을 최적화할 수 있습니다.

 

▣ "Cook only maps" 옵션 활성화
Cook only maps 옵션을 체크 (✔)
이 설정을 적용하면 해당 레벨에서 사용되는 애셋만 패키징됩니다.

"Cook only maps" 옵션을 활성화하면 "List of Maps to Include in a Packaged Build" 목록에 추가된 레벨에서 사용된 애셋만 패키징됩니다.
주의: 블루프린트에서 동적으로 로드하는 애셋은 이 방식으로 패키징되지 않을 수 있음.

 

▣ 옵션설명권장 설정

Enable DDC for IoStore compression DDC 캐싱을 활용해 Cook 시간을 줄임 ✔ (활성화 추천)
Include Crash Reporter 충돌 발생 시 오류 보고 ⛔ (테스트용), ✔ (출시용)
Internationalization Support 다국어 지원 필요시 설정
Localization Targets to Chunk 특정 번역 데이터의 청크 지정 기본값 유지
Cook everything in the project 전체 콘텐츠 Cook 여부 ⛔ (선택적 Cook 추천)
Cook only maps 맵만 Cook할지 여부 ⛔ (전체 빌드 시 끄기)
Exclude editor content when cooking 편집기용 콘텐츠 제외 ✔ (필수)
Exclude movie files when staging 영상 파일 제외 프로젝트에 따라 다름

 

 

▣ "List of Maps to Include in a Package Build" 옵션을 활용해 필요한 맵만 포함하도록 설정하면 패키징 속도를 개선할 수 있습니다.

 

 

▣ 에셋을 대체하거나 제거
예를 들어 /Engine/EditorMaterials/Cascade/CASC_Solo_On 같은 에디터 전용 애셋은 게임에서 사용될 수 없음.
해당 애셋을 사용하는 블루프린트나 머티리얼을 찾아서 제거 또는 대체.

 

▣ "Unknown Cook Failure" 해결 (강제 패키징)

- 원인:
패키징 중 정확한 원인을 찾을 수 없는 문제 발생
동적으로 로드하는 애셋이 패키징되지 않아 발생 가능

 

- 해결 방법:

"Additional Asset Directories to Cook"에 추가
Project Settings > Packaging 이동
"Additional Asset Directories to Cook"에서 + 버튼 클릭

- 누락된 애셋이 있는 폴더 추가
/Game/Effects/
/Game/Sounds/
/Game/Animations/

 

 

 

▣ 다시 패키징을 하면  SDK에 대한 경고가 나오지 않고 패키징을 완료할 수 있습니다. 

728x90
반응형

댓글