Pular para o conteúdo principal
A estrutura de diretórios descrita neste artigo é o layout simplificado (multiplataforma) introduzido com o GDK de outubro de 2025.A partir do GDK de outubro de 2026, o layout simplificado é instalado por padrão. O layout herdado continua disponível como um caminho de compatibilidade opcional e preterido para equipes que precisam de tempo adicional de migração.O layout herdado deixará de ter suporte e será removido do instalador a partir da versão do GDK de abril de 2027.
Nas versões atuais do Microsoft Game Development Kit (GDK), o layout foi otimizado em torno do compartilhamento de código e focado em plataformas específicas. A integração de compilação para esse layout dependia muito de ocultar a complexidade em plataformas personalizadas do MSBuild. No novo layout, o foco está em simplificar a integração, dar suporte a uma lista crescente de plataformas de destino e aprimorar o suporte tanto para as plataformas padrão do MSBuild quanto para sistemas de compilação que não são da Microsoft.

Layout antigo de cabeçalhos e bibliotecas

O layout de arquivos existente do Microsoft GDK é resumido a seguir.
As plataformas personalizadas do MSBuild Gaming.Desktop.x64, Gaming.Xbox.Scarlett.x64 e Gaming.Xbox.XboxOne.x64 implementam toda a lógica para criar os caminhos de include/lib que combinam todo esse conteúdo de várias maneiras. Se você usava o CMake ou uma solução make personalizada, essa lógica também precisava ser implementada lá. Para ver um exemplo detalhado, confira a versão de abril de 2025 do CMakeExample. As versões do GDK de outubro de 2025 e abril de 2026 incluem tanto o layout simplificado quanto o herdado. A partir do GDK de outubro de 2026, a instalação instala apenas o layout simplificado por padrão. O layout herdado ainda pode ser selecionado como uma instalação opcional, mas ele está preterido e não é mais o caminho de desenvolvimento recomendado. O layout herdado deixará de ter suporte e será removido do instalador a partir da versão do GDK de abril de 2027.

Novo layout de cabeçalhos e bibliotecas

A versão do GDK de outubro de 2025 agora oferece um layout alternativo para os cabeçalhos e bibliotecas que torna a integração com a plataforma muito mais fácil e capaz de acomodar plataformas adicionais ao longo do tempo.

Usando o novo layout com plataformas personalizadas do MSBuild

As plataformas existentes Gaming.*.x64 do MSBuild usarão o layout antigo por padrão, mas você pode optar pelo novo layout definindo a propriedade GDKCrossPlatform.
Isso faz com que os caminhos de include/lib apropriados sejam adicionados ao projeto, em vez dos vários caminhos complexos usados pelo layout antigo. Nessa nova integração simplificada, o mecanismo de bibliotecas de extensão não é mais usado. Todo o conteúdo está disponível por padrão no momento da compilação nos caminhos de include/lib. Em seguida, o projeto precisa vincular as bibliotecas adicionais que usa. Projetos criados com base nos modelos de projeto mais antigos do GDK devem conter instruções como a seguinte.
No novo layout, a propriedade Console_Libs listará as principais bibliotecas necessárias. O projeto precisa adicionar a AdditionalDependencies as bibliotecas de extensão que consome, porque cada uma delas é opcional (“opt-in”). O projeto também precisa copiar para o layout as DLLs adicionais que usa. Isso pode ser feito por meio de etapas de Custom Build, típicas de muitas integrações de bibliotecas DLL, ou editando o vcxproj ou adicionando um arquivo props para usar a lista de grupo de itens ReferenceCopyLocalPaths. O MSBuild abaixo lista todas as DLLs possíveis, mas cada projeto precisará apenas de algumas delas.
GameDKLatest é definida apenas pelo Microsoft GDK with XBOX Extensions. Por isso, introduzimos novas variáveis de ambiente que oferecem suporte completo à instalação lado a lado das duas versões do Microsoft GDK: GameDKCoreLatest é definida pelo Microsoft GDK. GameDKXboxLatest é definida pelo Microsoft GDK with XBOX Extensions.

Usando um Directory.Build.props

Como forma de validar rapidamente projetos Gaming.*.x64 existentes do GDK usando o novo layout, coloque o conteúdo a seguir em um arquivo chamado Directory.Build.props na sua árvore de código-fonte. Isso habilita o novo layout e inclui a maioria ou todas as bibliotecas de extensão, mesmo que não sejam usadas pelo projeto.
A propriedade GDKExtLibNames não é usada pelas regras do MSBuild ao compilar com GDKCrossPlatform definida como true. Como ela já está presente para compilar com as regras mais antigas do MSBuild, ela é usada neste arquivo props como forma de habilitar algumas DLLs adicionais no layout.

Usando o novo layout com a plataforma x64 do MSBuild

Em vez de usar a plataforma Gaming.Desktop.x64, você pode usar a plataforma padrão x64 para compilar para PC. No layout antigo, isso exigia adicionar instruções <Import Project="...\ExtensionLibrary.props"> para as bibliotecas de extensão, conforme detalhado em Usando a plataforma x64 com o Microsoft Game Development Kit (GDK). No novo layout, as instruções de integração são simplificadas.
Adicione todas as bibliotecas de extensão necessárias a AdditionalDependencies junto com a lista original.
As DLLs das bibliotecas de extensão habilitadas precisam ser copiadas para o diretório binário, como acima, usando uma ação de Custom Build ou o grupo de itens ReferenceCopyLocalPaths para o layout final. As demais instruções para PreprocessorDefinitions e para o tratamento do arquivo .mgc com ativos de imagem permanecem inalteradas.

Usando o novo layout com o CMake

Ao usar os geradores do Microsoft Visual Studio com o CMake e as plataformas personalizadas do MSBuild Gaming.*.x64, o novo layout é habilitado com o seguinte.
No CMakeGDKExample, remova o uso de VS_GLOBAL_GDKExtLibNames e substitua-o pelo seguinte (supondo o CMake 3.21 ou posterior) para copiar as DLLs de extensão usadas para o layout.

Usando o novo layout com sistemas de compilação personalizados

Compilar para Windows x64 usando o GDK requer o seguinte.
Compilar para XBOX Series X|S (também conhecido como Gaming.Xbox.Scarlett.x64) requer:
Compilar para XBOX One (também conhecido como Gaming.Xbox.XboxOne.x64) requer:

Usando o novo layout para ferramentas de conteúdo de PC

No desenvolvimento para console, alguns tipos de processamento (“cooking”) de conteúdo ocorrem no PC de desenvolvimento usando APIs do XTF, a biblioteca de codificação XMA2 e/ou ferramentas personalizadas do Direct3D 12.X. Acessar esse conteúdo requer uma configuração de compilação específica: Compilar ferramentas de PC voltadas tanto para XBOX One quanto para XBOX Series X|S requer:
Compilar ferramentas de PC voltadas para os gráficos do XBOX Series X|S requer:
Compilar ferramentas de PC voltadas para os gráficos do XBOX One requer:

Lendo a edição da compilação de um arquivo instalado

O novo layout não contém os arquivos grdk.ini ou gxdk.ini. Para encontrar as informações da edição analisando um arquivo, use grdk.h ou gxdk.h. Veja um exemplo em PowerShell que também funciona com versões mais antigas do GDK.

Compilar sem instalar (BWOI)

Os arquivos de plataforma de compilação personalizada do MSBuild que ficavam originalmente em <edition>\flatDeployment no layout antigo agora ficam em <edition>\xbox\build, com caminhos mais curtos. Por exemplo, para configurar uma pasta de regras do MSBuild para BWOI no VS 2022, use estes comandos.
Em seguida, no Directory.Build.props usado para BWOI, defina as propriedades para apontar para essa pasta combinada.
Última modificação em 6 de novembro de 2026