> ## 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.

# Pacotes de conteúdo para download (DLC) do GDK

> Pacotes de conteúdo para download (DLC) do Microsoft Game Development Kit

Os pacotes de conteúdo para download (DLC) do Microsoft Game Development Kit (GDK) são pacotes separados do seu jogo principal. Os pacotes de DLC são vendidos e baixados de forma independente do restante do jogo ou como parte de pacotes de compra.

O processo de criação, publicação e consumo de pacotes de DLC é conceitualmente o mesmo que era para títulos de console XBOX One, mas alguns dos formatos de arquivo de empacotamento e das APIs de runtime foram atualizados e são mais fáceis de usar.

Os pacotes de DLC têm suporte em PCs usando a mesma estrutura de empacotamento e são acessados com as mesmas APIs de runtime tanto no console quanto no PC.

Com os consoles XBOX Series X|S e XBOX One, um arquivo stub de pacote de DLC pode ser gerado e usado nas duas plataformas. Se o pacote de DLC contiver diferenças reais de conteúdo, use o elemento `TargetDeviceFamilyForDLC` para gerar pacotes de DLC específicos de cada plataforma.

## Configurar a identidade do pacote principal

1. Procure a Store ID (cadeia alfanumérica de 12 caracteres) do pacote do seu aplicativo principal na página **Game Setup** do produto do seu jogo principal. (Exemplo: 9PNX12345AAA)

2. Adicione o elemento `StoreId` ao arquivo MicrosoftGame.config do pacote principal.

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

## Criar um pacote de DLC

1. Crie o complemento do pacote de DLC no Partner Center pelo menu **Add-Ons** do seu produto principal.

2. Coloque todo o conteúdo do pacote de DLC em um único diretório.

3. Crie um arquivo MicrosoftGame.config no mesmo diretório do conteúdo do pacote de DLC usando os dados de exemplo a seguir.

4. Especifique no campo `TargetDeviceFamilyForDLC` a **Target Device Family** para a qual esse pacote de DLC está sendo criado. Os valores permitidos são XBOX One, XBOX Series X|S ou PC. É obrigatório especificá-lo para XBOX One e XBOX Series X|S, e é opcional no PC, desde que o sinalizador `/pc` seja usado ao gerar o arquivo .MSIXVC da DLC com o makepkg.exe.

5. Procure o campo **Package/Identity/Name** do pacote do seu aplicativo principal na página **Game Setup** do Partner Center e coloque o Identity Name no campo `MainPackageDependency`. Por exemplo, MyPackageName

6. Procure a Store ID (cadeia alfanumérica de 12 caracteres) do seu pacote de complemento/DLC no Partner Center e coloque-a no campo `StoreId`, conforme mostrado a seguir.

7. Procure a Store ID (cadeia alfanumérica de 12 caracteres) do pacote do seu aplicativo principal na página **Game Setup** do produto do seu jogo principal. Coloque-a no campo `AllowedProduct`, conforme mostrado a seguir. Por exemplo, 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. Abra um prompt de comando do Microsoft Game Development Kit (GDK) na pasta que contém uma única pasta com todo o conteúdo do seu jogo e execute o comando a seguir.

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

9. Se você estiver criando DLC para PC, use o comando a seguir.

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

10. Se você estiver criando DLC para console, use o comando a seguir.

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

Em SDKs anteriores, você passava o GUID da Product ID do seu jogo principal na linha de comando com o sinalizador `/ProductID`.
Com o modelo do MicrosoftGame.Config para configurar as relações do seu pacote de DLC, não use o parâmetro `/ProductID`. O MakePkg coloca automaticamente as informações apropriadas no seu pacote com base nas StoreIDs listadas no seu arquivo MicrosoftGame.config.

## Acessando pacotes de DLC em runtime a partir do jogo

As etapas básicas para consumir conteúdo dentro de um pacote de DLC são as seguintes.

1. [Enumere os pacotes](/pt-BR/reference/system/xpackage/functions/xpackageenumeratepackages)
2. [Verifique se há uma licença de usuário válida para o pacote de destino](https://learn.microsoft.com/build/store/commerce/fundamentals/xstore-manage-and-license-optional-packages)
3. Obtenha o `packageIdentifier` dos resultados da enumeração e passe-o para a API [XPackageMount](/pt-BR/reference/system/xpackage/functions/xpackagemount).

Nos consoles XBOX Series X|S, você só pode consumir pacotes de DLC com `TargetDeviceFamilyForDLC` XBOX Series X|S, a menos que especifique `XboxOne` no campo `DlcCompatibility` do seu MicrosoftGame.config:

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

A DLC do XBOX Series X|S só pode ser instalada em armazenamento rápido, enquanto a DLC do XBOX One não tem essa restrição; portanto, leve isso em conta antes de habilitar essa opção no seu jogo.

## Implantando e testando um pacote de DLC

Certifique-se de instalar o pacote do jogo principal antes de instalar o pacote de DLC.

Para o console XBOX, instale o pacote de DLC com o comando a seguir.
`xbapp install <Your_DLC_Package.xvc>`

Para PC, instale o pacote de DLC com o comando a seguir.
`wdapp install <Your_DLC_Package.msixvc>`

O conteúdo de DLC também pode ser registrado a partir de um diretório com arquivos soltos, e os testes também podem ser feitos com pacotes baixados da Microsoft Store.

Para obter mais informações, consulte [Gerenciar e licenciar conteúdo para download](https://learn.microsoft.com/build/store/commerce/fundamentals/xstore-manage-and-license-optional-packages).

## Documentação de referência da API

* [XPackage (conteúdo da API)](/pt-BR/reference/system/xpackage/xpackage_members)
  * Funções
    * [xpackageenumeratepackages](/pt-BR/reference/system/xpackage/functions/xpackageenumeratepackages)
    * [XPackageMount](/pt-BR/reference/system/xpackage/functions/xpackagemount)


## Related topics

- [XR-037 Dependências de pacotes de conteúdo](/pt-BR/publishing/certification/xr/xr-037.md)
- [XR037 Dependências de pacotes de conteúdo](/pt-BR/publishing/certification/fma/xr-037.md)
- [Guia de BVT de PC da certificação](/pt-BR/publishing/game-publishing/concepts/certification/certification-pc-bvt-guide.md)
- [Guia de BVT de console da certificação](/pt-BR/publishing/game-publishing/concepts/certification/certification-console-bvt-guide.md)
- [Requisitos do XBOX para jogos do XBOX](/pt-BR/publishing/certification/xbox-requirements.md)
