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

# Perguntas frequentes sobre o GameInput

> Respostas a perguntas comuns sobre o GameInput: versões do XBOX e do Windows compatíveis, integração com os mecanismos Unreal, Godot e Unity, e portabilidade do XInput.

### Por que devo basear o código de entrada do meu título no GameInput?

O GameInput é uma plataforma de entrada atualizável. Ao usá-lo, o Windows pode abstrair melhor a variedade de dispositivos de entrada disponíveis no mercado e continuar aprimorando o suporte a esses dispositivos ao longo do tempo por meio de atualizações da plataforma. Ao usar o GameInput, seu título será atualizado automaticamente para funcionar com novos dispositivos por meio de versões do Windows e de hardware.

Além disso, o GameInput fornece acesso a recursos mais recentes que antes não estavam disponíveis no Windows, como gatilhos de impulso, e um suporte melhor a recursos como hápticos e sensores. Ao usar o GameInput, seu título pode aproveitar esses recursos com alterações mínimas no código.

### Quais plataformas o GameInput suporta?

O GameInput está disponível em:

* XBOX (V.1+ a partir do GDK 2510)
* Windows 10 (versão 19H1/atualização de maio de 2019 e posteriores)
* Windows 11

Embora o GameInput v.0 faça parte do SDK do Windows e do Microsoft Game Development Kit (GDK), compilar com versões mais recentes requer o uso do pacote NuGet, tanto para console quanto para PC. O runtime do GameInput v.1+ está disponível no console a partir do GDK 2510, mas o uso desse runtime requer compilar e vincular com o cabeçalho/biblioteca do pacote NuGet mais recente do GameInput. A versão mais recente da API para PC e console está sempre disponível no pacote NuGet [Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput).

### Preciso de versões diferentes para XBOX e PC?

Não, a mesma API do GameInput funciona em todas as plataformas. A partir do GDK 2510, a API mais recente do GameInput está disponível tanto no XBOX quanto no PC, com os mesmos cabeçalhos e binários fornecidos no pacote NuGet [Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput). O instalador do GameInput só é necessário para PC, pois o runtime está incluído no GDK no XBOX.

### O GameInput funciona com mecanismos comumente usados, como o Unreal Engine?

Sim, embora o nível de integração varie de acordo com o mecanismo. Alguns mecanismos oferecem suporte próprio ao GameInput como um plug-in do mecanismo, enquanto outros dependem de um exemplo ou de um plug-in nativo que você mesmo integra.

* **Unreal Engine**: o suporte ao GameInput é fornecido com o mecanismo como um conjunto de plug-ins, a partir do Unreal Engine 5.4. **Game Input Base** fornece a funcionalidade e a interface principais, **Game Input (Windows)** a implementa para Win64 e WinGDK, e **XBOX Common Game Input** a implementa para XBOX One e XBOX Series X|S. Habilite esses plug-ins no seu projeto para encaminhar a entrada pelo GameInput tanto no PC quanto no console. Para obter mais informações, confira [Plug-ins do Microsoft GDK para Unreal Engine](/pt-BR/build/gdk-and-engines/unreal/unreal#microsoft-gdk-plug-ins-for-unreal-engine).
* **Godot**: o XBOX Godot Sample inclui uma GDExtension que vincula o GameInput ao Godot, incluindo a ponte entre o GameInput e os sistemas `Input` e `InputMap` do Godot. Trata-se de uma integração de referência que você compila e adapta para o seu projeto, e não de um recurso interno do mecanismo. Para obter mais informações, confira [Introdução ao Godot](/pt-BR/build/gdk-and-engines/godot#whats-included).
* **Unity**: atualmente, nenhum pacote do Microsoft GDK expõe o GameInput ao Unity no PC, portanto, os jogos Unity no PC normalmente leem a entrada pelo Unity Input System. No XBOX Series X|S e no XBOX One, o pacote GXDK Input System para Unity adiciona funcionalidades específicas do console ao Unity Input System. Para obter mais informações, confira [Pacotes do GDK para Unity](/pt-BR/build/gdk-and-engines/unity/unity#gdk-packages-for-unity).

Se o seu mecanismo não fornecer uma integração com o GameInput, ou se você quiser usar recursos do GameInput que seu mecanismo não expõe, poderá chamar o GameInput diretamente do código nativo usando o pacote NuGet [Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput).

### Meu aplicativo não consegue encontrar o GameInput. O que devo verificar?

1. Verifique se o runtime do GameInput está instalado no computador de destino. Para as versões v.1 e posteriores, isso requer um pacote Microsoft.GameInput, que o usuário pode instalar a partir do pacote MSI incluído no pacote NuGet Microsoft.GameInput. Para instalar a versão mais recente do pacote, você também pode executar `winget install Microsoft.GameInput` em um prompt de comando com privilégios elevados.
2. Verifique se o seu aplicativo está vinculado à biblioteca correta do GameInput. A versão mais recente no pacote NuGet garante que seu projeto use o binário correto do GameInput nos diferentes pontos de extremidade/plataformas.
3. Verifique se a sua versão do Windows suporta o GameInput (19H1 ou posterior).

### Qual é a dificuldade de portar do XInput para o GameInput?

Muitas funções do XInput são mapeadas diretamente para equivalentes no GameInput, o que simplifica o trabalho de portar de um para o outro. A principal diferença é que o GameInput usa interfaces C++ em vez de funções C simples. O GameInput também fornece funcionalidades extras não disponíveis no XInput, como acesso ao gatilho de impulso encontrado nos controles do XBOX One e em outros dispositivos semelhantes.

### Como faço para portar do DirectInput ou do Raw Input?

O GameInput fornece um caminho de interface como parte da estrutura GameInputDeviceInfo. Esse campo é o mesmo usado pela API DirectInput, permitindo que os aplicativos continuem usando o código DirectInput existente para enumeração de dispositivos e recuperação de informações enquanto migram a leitura de entrada e outras funcionalidades para o GameInput. Para obter mais detalhes, confira o [guia de portabilidade do GameInput](/pt-BR/build/core-features/common/input/porting/input-porting).

### O que o serviço GameInput faz?

O serviço GameInput é responsável por arbitrar o acesso aos dispositivos de entrada no sistema e por fornecer camadas úteis de compatibilidade e abstração para outros aplicativos. Entre outras coisas, o serviço GameInput:

* Lida com a filtragem e a sincronização da entrada
* Fornece atualizações da plataforma e melhorias nos drivers de dispositivo
* Medeia o acesso aos dispositivos de entrada entre instâncias de cliente do GameInput

O instalador garante que o runtime seja registrado corretamente e que o serviço seja configurado corretamente para um desempenho ideal.

### Posso chamar o GameInput a partir do meu thread de renderização?

Sim, quase todas as funções do GameInput são seguras para contextos sensíveis ao tempo, como threads de renderização. A principal exceção é `GameInputCreate`, que você deve chamar durante a inicialização do aplicativo.

<a id="seeAlsoSection" />

## Confira também

[Introdução ao GameInput](/pt-BR/build/core-features/common/input/overviews/input-overview)

[Controle de versão da API do GameInput](/pt-BR/build/core-features/common/input/overviews/input-versioning)

[Portabilidade do XInput para o GameInput](/pt-BR/build/core-features/common/input/porting/input-porting-xinput)


## Related topics

- [Preguntas más frecuentes sobre GameInput](/es/build/core-features/common/input/overviews/input-faq.md)
- [Upgrades de conta](/pt-BR/services/playfab/pricing/account-upgrades.md)
- [GameInput](/es/reference/input/gameinput/gameinput_members.md)
- [Sensores en GameInput](/es/build/core-features/common/input/hardware/input-hardware-sensors.md)
- [Temas avanzados de GameInput](/es/build/core-features/common/input/advanced/input-advanced-topics.md)
