Recommended practices

Apply these recommended practices to create comfortable, intuitive, and responsive gamepad controls across menus and active gameplay.

Design for player ergonomics

Well-crafted input patterns feel natural and accessible, helping your game reach a wider audience and letting everyone enjoy playing comfortably.

Offer flexible input options for taps and holds

Although fast, repeated presses or continuous holding can be an engaging part of core gameplay, players have diverse physical preferences and accessibility needs. Offer customizable control settings to reduce physical strain. For example, convert rapid-tap or press-and-hold interactions into a single press, provide a toggle mode where one press starts an action and a second stops it, or let players simplify or bypass intensive input sequences altogether.

Press-and-hold and toggle options Quick-tap option
Controller settings menu with Button Tap Challenges set to Press and Hold, alongside Toggle Sprint and Toggle Aim switches. Controller settings menu with Button Tap Challenges set to Quick Taps for rapid repeated button presses.

Use two-step selection or shortcuts instead of drag-and-drop

Moving items across the screen is much faster and more precise on a gamepad when you replace hold-and-drag gestures with discrete steps. Let players pick up an item with the confirm button, navigate to the target slot using the directional pad (D-pad) or stick, and press it again to place or swap the selection. For frequent actions with a fixed destination, such as equipping gear, storing loot, or playing a card, you can streamline the flow even further by assigning direct shortcut keys to the focused element.

Not recommended Recommended
Not recommended: Holding the A button while continuously dragging a card across the board with the analog stick. Recommended: Selecting a card with A, stepping across slots with the D-pad or stick, or pressing X to quick-play the card immediately.

Provide in-game button remapping

Button remapping lets players adjust key actions to fit their controller form factor, grip style, and muscle memory from other platforms. Starting in Android 17 (API level 37), users can remap buttons, sticks, and triggers directly in the system settings. To extend this flexibility to more players across all Android versions, we recommend also providing in-game remapping and keeping on-screen guide icons updated to match the reassigned inputs. For implementation details, see Process controller inputs (Kotlin or Java) and Use custom controller device mappings (C++ Game Controller library).

Map buttons using a hierarchical structure

Organize navigation into tiered levels across both menus and active gameplay so players can access complex interfaces and large skill sets without excessive button presses.

Use tab switching

Assign the shoulder bumpers to top-level menus, and navigate submenus using the D-pad or analog sticks. This two-level approach makes navigation much faster by eliminating the need to step through every single UI element with directional inputs.

Inventory menu where top category tabs display bumper prompts for tab switching while a potion slot inside the item grid displays directional focus arrows.
Figure 1. Using the shoulder bumpers to switch top-level menu tabs while navigating sub-items with the D-pad.

Group UI elements

In complex interfaces or grid-based gameplay such as puzzle boards and strategy maps, group multiple small elements into larger sections. Let players jump between major regions first, and then use the D-pad or analog sticks to make precise selections within the focused group.

Two-step puzzle board navigation: jumping between 3-by-3 tile groups first, and then selecting an individual leaf tile inside the active group with the D-pad or stick.
Figure 2. Grouping UI elements into major regions for faster hierarchical navigation.

Expand in-game action sets

Organize in-game actions into a two-level hierarchy based on the gameplay context. For real-time actions, map primary moves to the face buttons and use a shoulder bumper to switch them to a secondary skill set. For tactical situations where play pauses or slows down, consider offering a radial menu, such as a skill wheel, where players tilt the stick to choose from more options.

Side-by-side dungeon combat screens: holding the right bumper switches the four face button slots from basic movement actions to elemental combat skills.
Figure 3. Switching in-game action sets on the face buttons using a shoulder bumper.
Side-by-side tactical battle screens: holding the left bumper opens an eight-slot radial skill wheel where tilting the right stick selects a skill.
Figure 4. Opening a radial menu with a shoulder button to choose from more options in tactical situations.

Provide clear visual feedback

Display clear on-screen prompts and focus indicators so players always know which controller inputs are available and which UI element is active.

Display button action guides

Clearly display corresponding gamepad button icons next to interactive UI elements so players instantly know which button to press. In addition, recognize the controller type to display matching iconography and labels for its specific layout. For implementation details, see Common controller types (Kotlin or Java) and Controller device information (C++ Game Controller library).

Scenario Guideline Example
Complex menu interactions Provide a dedicated button prompt bar at the bottom of the screen, showing which face buttons equip or sort items and which shoulder bumpers switch tabs, that dynamically updates based on the selected item. Weapon equipment menu with bumper prompts on the top Weapons, Armor, Potions, and Materials tabs and a bottom prompt bar showing X to Equip, Y to Sort, A to Inspect, and B for Back.
Combat skill heads-up display (HUD) Attach small gamepad badges directly onto HUD skill slots or skill bars so players can trigger abilities through instant reflexes. Action role-playing combat screen displaying button and bumper badges directly on the bottom skill and potion slots.

Highlight active focus states

Use distinct visual cues, such as a highlighted background color, borders, or scaling effects, to clearly indicate which UI element or button currently has controller focus.

Scenario Guideline Example
Account login entry Clearly highlight the currently selected input field, sign-in option, or action button so players know which field they are editing or submitting before opening the on-screen keyboard. Account login dialog highlighting the focused Email or Username field with a glowing border and an A to Edit button prompt.
Inventory and grid menus Display a bright border or frame around the currently selected slot to clearly indicate the current selection. Inventory grid showing a bright glowing border around the currently focused item slot.
HUD When players navigate to on-screen HUD elements, highlight the active HUD element distinctly so it stands out. On-screen Inventory Bag icon highlighted with a glowing focus ring, directional arrows, and an A to Open prompt when the player selects it.
Active gameplay During combat or exploration, indicate the currently selected skill, active weapon slot, or locked-on enemy target so players can make quick decisions without losing track of their selection. Active combat scene showing a clear target lock-on indicator on the enemy and a highlighted active skill slot.

Recommended practices for using a virtual mouse

Operating a virtual mouse requires fine cursor control and precision adjustments. In structured menus, settings lists, and grid-based inventories, discrete D-pad or stick navigation is faster and more reliable. However, an optional virtual mouse cursor is useful in non-grid scenarios where directional stepping feels restrictive:

Scenario Guideline Example
World maps Select locations that are scattered irregularly across a map, or place a custom pin on an empty spot where no button exists. World map screen using a virtual mouse cursor to select irregularly scattered map locations and place custom pins.
Non-linear skill trees Navigate web-like or radial progression trees where nodes branch out at irregular diagonal angles. Radial, non-linear skill tree navigated with a virtual mouse cursor.
Inspection and free-form placement Investigate hidden objects in adventure games without spoiling clues through automatic focus highlights, or freely position units on a non-grid battlefield. Adventure and strategy scenes using a virtual mouse cursor for point-and-click clue inspection and free-form unit placement.

When implementing a virtual mouse, follow these guidelines. If you develop in Unity, see Control a virtual mouse with a game controller in Unity for engine setup details.

Enlarge button touch targets

If buttons or interactive areas are too small, positioning a virtual mouse over them becomes difficult. Scale UI elements adequately for comfortable targeting.

Not recommended Recommended
Not recommended: Tiny interactive map icons that are difficult to target with a virtual mouse cursor. Recommended: Enlarged interactive map markers with generous hit targets for comfortable virtual mouse selection.

Maintain appropriate spacing between buttons

When interactive elements are positioned far apart, moving a virtual mouse across the screen slows down navigation. Group related controls close together by clustering sequential selection and confirmation buttons in the same area, or by opening action menus for equipping, upgrading, or discarding items directly next to the selected slot rather than in a fixed screen corner.

Not recommended Recommended
Not recommended: Skills menu where the Equipped Slots panel is separated by a wide empty gap from the selected Knockback Shot skill in the skills list. Recommended: Skills menu where the Equipped Slots panel is positioned directly next to the selected Knockback Shot skill to minimize cursor movement.

Provide smart targeting assistance

To make targeting easier, assist the virtual mouse cursor when it approaches interactive elements based on the screen context:

Scenario Guideline Example
Wider selection radius When panning across a map with multiple markers, keep cursor movement free and fluid. Define a wider, invisible selection radius around quest markers, fast-travel points, or dungeon entrances so they automatically highlight and become selectable when the cursor gets close. Interactive world map showing a wide dashed selection radius around a dungeon marker that highlights and becomes selectable when the cursor passes near its edge.
Cursor slowdown on hover Slightly slow down cursor speed when passing over interactive skill nodes so players don't overshoot small targets and can stop on the target node comfortably. Radial skill tree showing the virtual mouse cursor slowing down as it enters the hover zone over a skill node.
Placement snapping When placing structures, units, or items onto valid grid spaces or sockets, such as building towers in a strategy game, snap the placement preview into position when the cursor gets close so players don't have to align it pixel by pixel. Strategy game battlefield showing a tower placement preview snapping into a valid foundation socket when the cursor gets close.