Roblox accepte les entrées provenant de gamepads tels que les contrôleurs Xbox et PlayStation. Pour simplifier les entrées multiplateformes, y compris les gamepads, Roblox fournit le Système d'Action d'Entrée pour définir des actions telles que "sauter", "courir" ou "tirer" et configurer des liens pour plusieurs entrées matérielles afin de déclencher ces actions.
Lors de la liaison des entrées du gamepad, consultez les schémas de contrôle communs pour créer une expérience de gamepad cohérente pour les joueurs. Une fois les entrées configurées, vous pouvez améliorer l'expérience du joueur en incluant un retour haptique sur les contrôleurs compatibles.
Alors que vous développez le support pour les gamepads, n'oubliez pas de tester fréquemment en utilisant un gamepad connecté ou l' Émulateur de Contrôleur dans Studio.
Détection du type d'entrée
Dans le développement multiplateforme, il est important de déterminer et de répondre au type d'entrée PreferredInput qu'un joueur utilise, normalement pour garantir que les éléments UI comme les boutons et les menus à l'écran fonctionnent de manière élégante et supportent l'interaction entre les appareils.
Par exemple, une console suppose que les gamepads sont l'entrée par défaut, mais un joueur sur PC ou ordinateur portable peut également choisir de connecter un gamepad bluetooth. Dans ce cas, la souris/le clavier reste une entrée valide pour ce joueur, mais vous pouvez supposer qu'ils souhaitent passer au gamepad connecté en tant que type d'entrée principal.
Consultez la détection du type d'entrée pour plus d'information.
Schémas de contrôle communs
Lors de la prise en compte des liaisons de contrôle spécifiques pour le Système d'Action d'Entrée, il est préférable d'établir une cohérence entre les différents jeux. Les liaisons d'entrée suivantes aideront les joueurs à se sentir immédiatement familiers et à l'aise avec les contrôles du gamepad.
| Entrée | Cas d'utilisation communs |
|---|---|
| ButtonA | Accepte les invites ou sélections GUI du joueur. Utilisé alternativement pour des actions principales telles que sauter. |
| ButtonB | Annule les invites ou sélections GUI du joueur. Utilisé alternativement pour des actions secondaires telles qu'une esquive, un roulé ou un sprint. |
| Thumbstick1 | Généralement associé aux mouvements du personnage. |
| Thumbstick2 | Généralement associé aux mouvements de la caméra. |
| ButtonL2, ButtonR2 | Généralement utilisé pour des actions principales, telles que tirer. |
| ButtonL1, ButtonR1, ButtonX, ButtonY | Actions secondaires telles que recharger, cibler ou accéder à un inventaire ou une minicarte. |

Retour haptique
De nombreux contrôleurs de gamepad sont équipés de moteurs intégrés pour fournir un retour haptique. Ajouter des vibrations et des secousses peut grandement améliorer l'expérience d'un joueur et fournir un retour subtil au-delà des visuels ou audio.
Roblox prend en charge les retours haptiques pour les gamepads PlayStation, les gamepads Xbox et le contrôleur Quest Touch. Le retour haptique est géré par les instances HapticEffect, qui peuvent être définies sur un type spécifique Type, tel que GameplayCollision ou UIClick.
Une fois qu'un HapticEffect est en place, vous pouvez l'initier via la méthode Play(), par exemple :
local Workspace = game:GetService("Workspace")local effect = Instance.new("HapticEffect")effect.Type = Enum.HapticEffectType.GameplayExplosioneffect.Parent = Workspace-- Jouer l'effet haptiqueeffect:Play()
Émulation de contrôleur
The Controller Emulator, accessible from Studio's Test menu, lets you accurately emulate gamepad input directly in Studio. The default controller is a generic gamepad, but you can select alternatives from the upper‑left picker menu.

While playtesting, you can control the game with the virtual controller using your mouse.
You can also click Edit mappings in the upper‑right corner to view and edit key mappings for the virtual controller, for example E to ButtonL2 or 9 to ButtonA. These mappings are saved like other Studio settings (per controller, per user, per computer) and are translated to gamepad events in both the emulator window and the 3D viewport.