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

# GameInput 常見問題集

> GameInput 常見問題的解答：支援的 XBOX 和 Windows 版本、Unreal、Godot 和 Unity 的引擎整合，以及從 XInput 移植。

### 為什麼我應該讓遊戲的輸入程式碼以 GameInput 為基礎？

GameInput 是可更新的輸入平台。透過使用它，Windows 可以更有效地抽象化市面上各式各樣的輸入裝置，並透過平台更新持續改善對這些裝置的支援。使用 GameInput 後，您的遊戲會透過 Windows 和硬體發行版本自動更新，以便支援新裝置。

此外，GameInput 提供以往在 Windows 上無法使用的較新功能 (例如脈衝扳機)，並為觸覺回饋和感應器等功能提供更好的支援。使用 GameInput，您的遊戲只需最少的程式碼變更即可運用這些功能。

### GameInput 支援哪些平台？

GameInput 可在下列平台上使用：

* XBOX (從 2510 GDK 開始為 V.1+)
* Windows 10 (19H1/2019 年 5 月更新版及更新版本)
* Windows 11

雖然 GameInput v.0 是 Windows SDK 和 Microsoft Game Development Kit (GDK) 的一部分，但使用較新版本進行編譯時，無論主機或 PC 都需要使用 NuGet 套件。GameInput v.1+ 執行階段從 2510 GDK 開始可在主機上使用，但使用此執行階段需要針對最新 GameInput NuGet 套件中的標頭/程式庫進行建置和連結。PC 和主機最新版本的 API 一律可在 [Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput) NuGet 套件中取得。

### XBOX 和 PC 需要不同的版本嗎？

不需要，相同的 GameInput API 可在所有平台上運作。從 2510 GDK 開始，最新的 GameInput API 可在 XBOX 和 PC 上使用，[Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput) NuGet 套件中提供相同的標頭和二進位檔。只有 PC 需要 GameInput 安裝程式，因為在 XBOX 上，執行階段已隨附於 GDK。

### GameInput 是否能與 Unreal Engine 等常用引擎搭配使用？

可以，但整合程度因引擎而異。部分引擎以引擎外掛程式的形式提供第一方 GameInput 支援，其他引擎則仰賴您自行整合的範例或原生外掛程式。

* **Unreal Engine**：從 Unreal Engine 5.4 開始，GameInput 支援以一組外掛程式的形式隨引擎提供。**Game Input Base** 提供核心功能和介面，**Game Input (Windows)** 為 Win64 和 WinGDK 實作該介面，**XBOX Common Game Input** 則為 XBOX One 和 XBOX Series X|S 實作該介面。在您的專案中啟用這些外掛程式，即可在 PC 和主機上透過 GameInput 傳遞輸入。如需詳細資訊，請參閱 [Unreal Engine 的 Microsoft GDK 外掛程式](/zh-TW/build/gdk-and-engines/unreal/unreal#microsoft-gdk-plug-ins-for-unreal-engine)。
* **Godot**：XBOX Godot 範例包含將 GameInput 繫結至 Godot 的 GDExtension，包括將 GameInput 橋接至 Godot 的 `Input` 和 `InputMap` 系統。這是供您針對專案建置和調整的參考整合，而非內建的引擎功能。如需詳細資訊，請參閱[開始使用 Godot](/zh-TW/build/gdk-and-engines/godot#whats-included)。
* **Unity**：目前沒有任何 Microsoft GDK 套件在 PC 上向 Unity 公開 GameInput，因此 PC 上的 Unity 遊戲通常會透過 Unity Input System 讀取輸入。在 XBOX Series X|S 和 XBOX One 上，適用於 Unity 的 GXDK Input System 套件會為 Unity Input System 新增主機專屬功能。如需詳細資訊，請參閱[適用於 Unity 的 GDK 套件](/zh-TW/build/gdk-and-engines/unity/unity#gdk-packages-for-unity)。

如果您的引擎未提供 GameInput 整合，或您想要使用引擎未公開的 GameInput 功能，您可以使用 [Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput) NuGet 套件，直接從原生程式碼呼叫 GameInput。

### 我的應用程式找不到 GameInput，該檢查什麼？

1. 確認目標電腦上已安裝 GameInput 執行階段。若為 v.1 及更新版本，這需要 Microsoft.GameInput 套件，使用者可以從 Microsoft.GameInput NuGet 套件中的 MSI 套件安裝。若要安裝最新版本的套件，您也可以從提高權限的命令提示字元執行 `winget install Microsoft.GameInput`。
2. 確保您的應用程式連結至正確的 GameInput 程式庫。NuGet 套件中的最新版本可確保您的專案在不同端點/平台上使用正確的 GameInput 二進位檔。
3. 確認您的 Windows 版本支援 GameInput (19H1 或更新版本)。

### 從 XInput 移植到 GameInput 有多困難？

許多 XInput 函式都能一對一對應到 GameInput 的對等函式，簡化了兩者之間的移植工作。主要差異在於 GameInput 使用 C++ 介面，而非一般 C 函式。GameInput 也提供 XInput 中沒有的額外功能，例如存取 XBOX One 控制器和其他類似裝置上的脈衝扳機。

### 如何從 DirectInput 或 Raw Input 移植？

GameInput 在 GameInputDeviceInfo 結構中提供介面路徑。此欄位與 DirectInput API 使用的欄位相同，讓應用程式可以繼續使用現有的 DirectInput 程式碼進行裝置列舉和資訊擷取，同時將輸入讀取和其他功能移轉至 GameInput。如需詳細資訊，請參閱 [GameInput 移植指南](/zh-TW/build/core-features/common/input/porting/input-porting)。

### GameInput 服務的作用是什麼？

GameInput 服務負責仲裁系統上輸入裝置的存取，並為其他應用程式提供實用的相容性和抽象層。GameInput 服務的功能包括：

* 處理輸入篩選和同步處理
* 提供平台更新和裝置驅動程式改進
* 在 GameInput 用戶端執行個體之間協調輸入裝置的存取

安裝程式可確保執行階段正確註冊，且服務已正確設定以獲得最佳效能。

### 我可以從轉譯執行緒呼叫 GameInput 嗎？

可以，幾乎所有 GameInput 函式都能在轉譯執行緒等時間敏感的內容中安全使用。主要的例外是 `GameInputCreate`，您應在應用程式初始化期間呼叫它。

<a id="seeAlsoSection" />

## 另請參閱

[GameInput 簡介](/zh-TW/build/core-features/common/input/overviews/input-overview)

[GameInput API 版本控制](/zh-TW/build/core-features/common/input/overviews/input-versioning)

[從 XInput 移植到 GameInput](/zh-TW/build/core-features/common/input/porting/input-porting-xinput)


## Related topics

- [帳戶方案升級](/zh-TW/services/playfab/pricing/account-upgrades.md)
- [使用 GDKX 建置並執行你的第一個主機遊戲](/zh-TW/home/build-first-title/first-console-title-walkthrough.md)
- [最常失敗的測試案例](/zh-TW/publishing/certification/xr-top-failing.md)
- [認證逐步指南](/zh-TW/publishing/game-publishing/concepts/certification/certification-guide.md)
- [XBOX 遊戲開發文件](/zh-TW/index.md)
