언어:
페이지 정보
수준별:

패치

이 페이지의 내용:

프로젝트 릴리즈 이후 업데이트하려면, 프로젝트 런처를 통해 사용할 수 있는 패치 프로세스를 사용하면 됩니다. 패치 도중 엔진은 쿠킹 이후 모든 콘텐츠를 원래 릴리즈된 쿠킹 콘텐츠와 비교한 뒤, 그를 통해 패치에 포함시킬 것을 결정합니다. 가장 작은 콘텐츠 조각은 (.ulevel 또는 .uasset 같은) 단일 패키지로, 한 패키지 안에 변화가 있는 경우, 전체 패키지가 패키지에 포함됩니다. 패치의 .pak 파일을 사용자에게 전달하는 방법은 배포 플랫폼에 따라 달라지지만, 이 절차를 통해 딱 업데이트된 콘텐츠만 들어있는 훨씬 작은 pak 파일 생성이 가능합니다.

현재 패치 배포는 모든 플랫폼에 적용되지 않습니다. 여기서는 Windows에서의 패키지 파일 테스트와 아울러 패치 패키지 파일 제작법을 안내해 드리겠습니다.

기존에 릴리즈한 프로젝트에 대한 패치는 버전 릴리즈를 통해 가능합니다. 염두에 둘 것은:

  • 릴리즈 당시 시리얼라이제이션 코드 패스를 록 다운 시킵니다.

  • 릴리즈된 쿠킹 콘텐츠를 유지합니다. UnrealPak 툴에서 이를 통해 패치 패키지 파일에 넣을 패키지를 결정하기 때문입니다.

  • 실행시간에 두 pak 파일 모두 마운팅하되, 패치 파일의 우선순위를 높게 하여 그 안의 콘텐츠가 먼저 로드되도록 합니다.

패치 제작

이 예제에서는 ShooterGame 의 무기 용량과 탄창 크기를 변화시킨 패치입니다.

PatchExample.png

릴리즈 버전 생성 이후:

  1. 프로젝트 런처 를, 언리얼 에디터의 메뉴 또는 언리얼 프론트엔드 에서 엽니다.

    1.png

  2. + 버튼으로 커스텀 론치 프로파일을 새로 만듭니다.

    2.png

  3. 프로파일의 이름이나 설명을 더블클릭하면 편집할 수 있습니다.

    RenamePatch.png

패치 프로세스용 세팅이 여럿 있습니다. 아래는 그 세팅을 범주별로 나눈 것으로, 고급 세팅 드롭다운 메뉴를 클릭하거나 상단의 드롭다운을 (Cook: By the Book& 등으로) 설정하여 옵션을 바꿀 수 있습니다.

PatchSettings.png

프로젝트

  1. 사용할 프로젝트를 설정하거나, 아무 프로젝트 를 사용해서 현재 프로젝트 패치가 가능합니다.

빌드

  1. 빌드 환경설정을 Shipping 으로 설정합니다.

  2. 또는, 빌드 머신에서 패치를 만들고 있으므로, 고급 세팅 을 열어 패치 프로세스의 일환으로 언리얼 자동화 툴(UAT)을 빌드해도 됩니다.

쿠킹

  1. 드롭다운 메뉴에서 쿠킹 메서드로 By the Book 을 선택합니다.

  2. 콘텐츠 쿠킹 대상 플랫폼에 대한 박스를 전부 체크합니다. 이 예제는 Windows 테스트 용이므로, WindowsNoEditor 를 선택했습니다.

  3. 현지화 쿠킹 대상 컬처에 대한 박스를 전부 체크합니다.

  4. 쿠킹할 맵에 대한 박스를 체크합니다.

    어떤 콘텐츠가 쿠킹되었는지 확인하고 원본 패키지 파일에 비교합니다.

  5. Release/DLC/Patching 세팅 에서:

    • Create a release version of the game for distribution. (배포용 게임 릴리즈 버전을 만듭니다) 체크박스를 체크합니다.

    • 이 릴리즈 버전을 입력합니다.

  6. 고급 세팅 을 펼친 뒤 다음 옵션과 아울러 프로젝트 배포 방법에 필요한 것들도 체크되어 있는지 확인합니다. 패치 크기를 최소화시키고 최적의 결과를 내는 것으로 알려진 추천 옵션은 아래와 같습니다:

    • 콘텐츠 압축

    • 버전 없이 패키지 저장

    • 모든 콘텐츠를 하나의 파일로 저장 (UnrealPak)

  7. 고급 세팅 아래, 쿠커 환경설정을 Shipping 으로 설정합니다.

패키지

  1. 빌드를 Package & store locally (로컬에서 패키징 & 저장)으로 설정합니다.

디플로이

  1. 빌드를 Do Not Deploy (디플로이 안함)으로 설정합니다.

  2. 우상단 구석의 뒤로 버튼을 사용하여 메인 프로파일 창으로 돌아갑니다.

    9.png

  3. Release 프로파일 옆의 실행 아이콘을 클릭합니다.

    10.png

    프로젝트 런처가 빌드, 쿠킹, 패키징 프로세스를 거칩니다. 프로젝트 복잡도에 따라 시간이 조금 걸릴 수 있습니다.

    11.png

  4. 작업이 끝나면 창을 닫고 완료 를 클릭합니다.

    12.png

Windows에서의 패치 테스트 방법:

  1. pak 파일을 ShooterGame\Releases\1.0\WindowsNoEditor 에서 ShooterGame\Saved\StagedBuilds\WindowsNoEditor\ShooterGame\Content\Paks 로 복사합니다.

  2. ShooterGame.exeShooterGame\Saved\StagedBuilds\WindowsNoEditor 에서 실행합니다.

패치 설치

패치 프로세스는 [ProjectName]\Saved\StagedBuilds[PlatformName][ProjectName]\Content\Paks 에 pak 파일을 생성합니다. 이 pak 파일이 바로 사용자에게 배포할 패치 파일입니다. 예를 들어 Windows에서, pak 파일을 사용자의 [ProjectName]\Releases[VersionNumber][PlatformName] 폴더에, 원본 콘텐츠 pak 파일 옆에 복사하는 인스톨러를 만들면 됩니다.

디바이스에서 FPakPlatformFile::GetPakFolders 에 설정된 pak 검색 디렉터리 중 한 곳에 패치 pak 파일이 있으면 자동으로 마운트됩니다. 패치 우선순위는, 마운팅 시스템에서 파일 명 끝에 _p 가 붙은 경우 다른 pak 파일보다 우선시합니다. 이름은 변경할 수 있지만, 파일명이 _p.pak 로 끝나야 합니다.

같은 릴리즈 버전에 패치를 둘 만들면 둘 다 완성 패치이므로, 두 번째 패치를 설치하는 도중에는 첫 번째 것도 제거해야 합니다.