Skip to content

Game Controller Support

outline

In the UI provided by the SDK, you can move the mouse cursor and click buttons using a 'game controller' rather than a regular mouse. For example, in the webview area exposed by the SDK, a user can move the mouse cursor with a game controller and click a button within the webview area.

Note

The 'Game Controller' function is available starting from the SDK version below.

  • Hive SDK v4 Unity Windows 24.1.0 or higher

    • Hive SDK v4 Android 26.7.0 or higher

Supported game controllers{ #supported-controller }

The types of game controllers supported by the SDK are as follows, and the number of controllers that can be used per SDK is maximum 1.

  • Microsoft Xbox Controller

  • Sony PlayStation DualSense, DualShock controller

  • Nintendo Switch Pro Controller

Controller key mapping{ #controller-keymapping }

Starting from the Hive SDK versions below, some UI support controller key mapping when using a game controller.

  • Hive SDK v4 Unity Windows 25.0.0 or higher

  • Hive SDK v4 Android 26.7.0 or higher

Warning

Please note that in UIs that support controller key mapping, the [key operation method] (#key) is different from the key operation method in the existing UI.

Note

In UIs that do not separately support controller key mapping, a mouse cursor is exposed on the screen, and the UI is controlled with a game controller by moving the cursor.


Key operation method{ #key }

Check
Input device Existing UI key operation method Controller key mapping support UI key operation method
Left analog joystick Move mouse cursor Move focus
Right analog joystick Mouse vertical and horizontal wheel scroll Mouse vertical and horizontal wheel scroll
A button Click left mouse button(X button for Dual Sense or Dual Shock)
B button Not supported Cancel (O button for Dual Sense or Dual Shock)
D-pad Not supported Move focus


Controller key mapping support UI list{ #key-mapping-ui-list }

Below is a list of UIs that support the controller key mapping feature:

Enter authentication number
Supported UI SDK v4 Unity Windows support SDK v4 Android support
1 App update supports supports
2 Access restrictions supports supports
3 Server check supports supports
4 Waiting for login supports -
5 IdP list supports -
6 Account conflict - supports
7 Promotional Banner supports Support (Front Banner)
8 Promotion Review Popup - supports
9 Promotion end pop-up - supports
10 Check Google payment account supports -
11 Payment confirmation supports -
12 Payment error supports -
13 Repayment - supports
14 Steam Deck Login supports -
15 Login supports -
16 Find Password supports -
17 supports -
18 Find Email supports -
19 Dormant account information supports -
20 Analytics consent screen - supports


Precautions (common to platforms){ #notes_all_platform }

When applying 'Game Controller' to the SDK, the following points must be kept in mind.

Game controller motion range

The game controller supportsonly in the UI implemented with theSDK. For example, the web view UI displayed by the SDK in the game, such as the login screen, news and promotion banners, etc. It is not supported in UIs not implemented by the SDK, such as external browser windows. Mouse cursor movement using a game controller within the game must be implemented directly by the developer.

Note (Windows){ #notes_windows_platform }

Steam integration

If you set “Enable Steam Input” when linking with Steam, you will not be able to use the game controller function provided by the SDK. However, by changing the layout provided by Steam, an environment similar to the game controller function provided by the SDK can be provided. For more information, please refer to the [Steam Input page] (https://partner.steamgames.com/doc/features/steam_controller) in the official Steamworks documentation.

Handle controller input the traditional way

If game controller input (including Steam Deck's own controller) occurs after the app calls an SDK method and before receiving a response, the app must not process the game controller input itself. This is because the SDK processes game controller input that occurs on the UI implemented by the SDK.

Windows On-Screen Keyboard

When using the game controller support function provided by the SDK in Windows On-Screen Keyboard, you must set the following in Windows On-Screen Keyboard “Options” to use the game controller function.

  1. Check Scan and enter

  2. Check only Use joystick, gamepad, or other gaming device

Restrictions on controller key mapping functionality

UI with the controller key mapping function applied only works properly in Rog Ally > Gamepad mode.

Notice (Android){ #notes_android_platform }

Android OS virtual keyboard control restrictions

The Android OS virtual keyboard exposed by selecting a text input field in the UI with a game controller cannot be operated with a game controller. When the virtual keyboard is enabled, you must directly touch the screen to enter text.

Game controller motion range

The Hive SDK's game controller functionality is only supported in UI areas directly implemented with the SDK.

As shown below, UI that exposes itself in external modules and system areas is excluded from game controller control through the Hive SDK.

  • External library integration UI: external IdP login screen, payment (IAP) pop-up, content sharing pop-up, etc.

  • External browser and web view: In-App Browser and external system browser


Known Issues{ #issues }

If you repeatedly and quickly attempt to reconnect the game controller, the controller may behave abnormally. For example, in the case of the Switch Pro Controller, if disconnection and connection are repeated within a short period of time, the mouse cursor may move in a certain direction even if the user does not operate it. This is a Switch Pro Controller issue and can be resolved by pressing the sync button located to the left of the wired connection terminal if the problem occurs.