> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GDK 다운로드 가능 콘텐츠(DLC) 패키지

> Microsoft Game Development Kit 다운로드 가능 콘텐츠(DLC) 패키지

Microsoft Game Development Kit(GDK)용 다운로드 가능 콘텐츠(DLC) 패키지는 메인 게임과 별도의 패키지입니다. DLC 패키지는 게임의 나머지와 독립적으로 판매되고 다운로드되거나, 구매 번들의 일부로 제공됩니다.

DLC 패키지를 만들고, 게시하고, 사용하는 프로세스는 XBOX One 콘솔 타이틀에서와 개념적으로 동일하지만, 일부 패키징 파일 형식과 런타임 API가 업데이트되어 더 쉽게 사용할 수 있게 되었습니다.

DLC 패키지는 동일한 패키징 구조를 사용해 PC에서 지원되며, 콘솔과 PC 모두에서 동일한 런타임 API로 액세스됩니다.

XBOX Series X|S 및 XBOX One 콘솔에서는 DLC 패키지 스텁 파일을 생성하여 두 플랫폼 모두에 사용할 수 있습니다. DLC 패키지에 실제 콘텐츠 차이가 있는 경우 `TargetDeviceFamilyForDLC` 요소를 사용하여 플랫폼별 DLC 패키지를 생성하세요.

## 메인 패키지 ID 설정

1. 메인 게임 제품의 **게임 설정** 페이지에서 메인 애플리케이션 패키지의 Store ID(12자 영숫자 문자열)를 조회합니다. (예: 9PNX12345AAA)

2. 메인 패키지의 MicrosoftGame.config 파일에 `StoreId` 요소를 추가합니다.

```xml theme={null}
<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
    <!-- Content omitted for brevity. -->
    <StoreId>**REPLACE WITH STOREID**</StoreId>
</Game>
```

## DLC 패키지 만들기

1. Partner Center의 메인 제품 아래 **애드온** 메뉴에서 DLC 패키지 애드온을 만듭니다.

2. 모든 DLC 패키지 콘텐츠를 하나의 디렉터리에 넣습니다.

3. 다음 샘플 데이터를 사용하여 DLC 패키지 콘텐츠와 동일한 디렉터리에 MicrosoftGame.config 파일을 만듭니다.

4. 이 DLC 패키지가 생성되는 대상인 **Target Device Family**를 `TargetDeviceFamilyForDLC` 필드에 지정합니다. 허용되는 값은 XBOX One, XBOX Series X|S 또는 PC입니다. XBOX One과 XBOX Series X|S에는 지정이 필수이며, PC에서는 makepkg.exe로 DLC .MSIXVC 파일을 생성할 때 `/pc` 플래그를 사용하는 한 선택 사항입니다.

5. Partner Center의 **게임 설정** 페이지에서 메인 애플리케이션 패키지의 **Package/Identity/Name** 필드를 조회한 다음, Identity Name을 `MainPackageDependency` 필드에 넣습니다. 예: MyPackageName

6. Partner Center에서 애드온/DLC 패키지의 Store ID(12자 영숫자 문자열)를 조회한 다음, 다음과 같이 `StoreId` 필드에 배치합니다.

7. 메인 게임 제품의 **게임 설정** 페이지에서 메인 애플리케이션 패키지의 Store ID(12자 영숫자 문자열)를 조회합니다. 다음과 같이 `AllowedProduct` 필드에 넣습니다. 예: 9PNX12345AAA

```xml theme={null}
<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
    <Identity Name="**REPLACE**"
        Publisher="**REPLACE**"
        Version="1.0.0.0"/>
    <ShellVisuals DefaultDisplayName="**REPLACE**"
                  PublisherDisplayName="**REPLACE**"
                  StoreLogo="Storelogo.png"
                  Square150x150Logo="Logo.png"
                  Square44x44Logo="SmallLog.png"
                  Description="**REPLACE**"
                  BackgroundColor="#000040"
                  SplashScreenImage="SplashScreen.png"/>
    <StoreId>**REPLACE WITH STOREID OF ADD-ON / DLC**</StoreId>
    <TargetDeviceFamilyForDLC>**REPLACE**</TargetDeviceFamilyForDLC>
    <AllowedProducts>
      <AllowedProduct>**REPLACE WITH STOREID OF BASE GAME**</AllowedProduct>
    </AllowedProducts>

<!-- The Desktop Registration section is for PC only. -->
    <DesktopRegistration>
      <MainPackageDependency Name="**REPLACE_WITH_IDENTITY_OF_PARENT_PRODUCT**" />
      <ProcessorArchitecture>x64</ProcessorArchitecture>
    </DesktopRegistration>
</Game>
```

8. 게임 콘텐츠가 모두 들어 있는 폴더 하나를 포함하는 폴더에서 Microsoft Game Development Kit(GDK) 명령 프롬프트를 열고 다음 명령을 실행합니다.

`MakePkg genmap /f layout.xml /d <Your_dlc_folder>`

9. PC용 DLC를 만드는 경우 다음 명령을 사용합니다.

`MakePkg pack /f layout.xml /lt /d <Your_dlc_folder_name> /pc /pd <Output_Folder_Name>`

10. 콘솔용 DLC를 만드는 경우 다음 명령을 사용합니다.

`MakePkg pack /f layout.xml /lt /d <Your_dlc_folder_name> /pd <Output_Folder_Name>`

이전 SDK에서는 `/ProductID` 플래그와 함께 명령줄에서 메인 게임의 Product ID GUID를 전달했습니다.
MicrosoftGame.Config 모델을 통해 DLC 패키지 관계를 구성할 때는 `/ProductID` 매개변수를 사용하지 마세요. MakePkg는 MicrosoftGame.config 파일에 나열된 StoreID를 기반으로 적절한 정보를 패키지에 자동으로 배치합니다.

## 게임에서 런타임에 DLC 패키지 액세스하기

DLC 패키지의 콘텐츠를 사용하는 기본 단계는 다음과 같습니다.

1. [패키지 열거](/reference/system/xpackage/functions/xpackageenumeratepackages)
2. [대상 패키지에 대한 유효한 사용자 라이선스 확인](https://learn.microsoft.com/build/store/commerce/fundamentals/xstore-manage-and-license-optional-packages)
3. 열거 결과에서 `packageIdentifier`를 가져와 [XPackageMount](/reference/system/xpackage/functions/xpackagemount) API에 전달합니다.

XBOX Series X|S 콘솔에서는 MicrosoftGame.config의 `DlcCompatibility` 필드에 `XboxOne`을 지정하지 않는 한, XBOX Series X|S `TargetDeviceFamilyForDLC`를 가진 DLC 패키지만 사용할 수 있습니다.

```xml theme={null}
    <VirtualMachine>
        <DlcCompatibility>XboxOne</DlcCompatibility>
    </VirtualMachine>
```

XBOX Series X|S DLC는 빠른 저장소에만 설치할 수 있는 반면 XBOX One DLC에는 그러한 제한이 없으므로 게임을 옵트인하기 전에 이를 고려해야 합니다.

## DLC 패키지 배포 및 테스트

DLC 패키지를 설치하기 전에 메인 게임 패키지를 설치해야 합니다.

XBOX 콘솔의 경우 다음 명령으로 DLC 패키지를 설치합니다.
`xbapp install <Your_DLC_Package.xvc>`

PC의 경우 다음 명령으로 DLC 패키지를 설치합니다.
`wdapp install <Your_DLC_Package.msixvc>`

DLC 콘텐츠는 느슨한 파일이 있는 디렉터리에서 등록할 수도 있으며, Microsoft Store에서 다운로드한 패키지로도 테스트할 수 있습니다.

자세한 내용은 [다운로드 가능 콘텐츠 관리 및 라이선스 부여](https://learn.microsoft.com/build/store/commerce/fundamentals/xstore-manage-and-license-optional-packages)를 참조하세요.

## 참조 API 문서

* [XPackage(API 콘텐츠)](/reference/system/xpackage/xpackage_members)
  * Functions
    * [xpackageenumeratepackages](/reference/system/xpackage/functions/xpackageenumeratepackages)
    * [XPackageMount](/reference/system/xpackage/functions/xpackagemount)


## Related topics

- [다운로드 가능한 콘텐츠(DLC) 관리 및 라이선스](/ko/publishing/xstore-commerce/xstore-dlc.md)
- [인증 PC BVT 가이드](/ko/publishing/game-publishing/concepts/certification/certification-pc-bvt-guide.md)
- [Games-as-a-Service(GaaS) 지원](/ko/build/core-features/common/packaging/supporting-games-as-a-service.md)
- [Submission Validator 품질 검사](/ko/build/core-features/common/packaging/subval/submissionvalidator-tests.md)
- [FMA: XR-037 콘텐츠 패키지 종속성](/ko/publishing/certification/fma/xr-037.md)
