Roblox acepta la entrada de gamepads como los controladores de Xbox y PlayStation. Para simplificar las entradas multiplataforma, incluidos los gamepads, Roblox proporciona el Sistema de Acción de Entrada para definir acciones como "saltar", "correr" o "disparar" y configurar vínculos para múltiples entradas de hardware que controlan esas acciones.
Al vincular las entradas del gamepad, consulta los esquemas de control comunes para crear una experiencia de gamepad consistente para los jugadores. Después de que las entradas estén configuradas, puedes mejorar la experiencia del jugador incluyendo retroalimentación háptica en los controladores compatibles.
A medida que desarrollas soporte para gamepads, recuerda probar con frecuencia utilizando un gamepad conectado o el Emulador de Controlador en Studio.
Detección de tipo de entrada
En el desarrollo multiplataforma, es importante que determines y respondas al tipo PreferredInput que está utilizando un jugador, normalmente para asegurarte de que los elementos de UI como botones y menús en pantalla funcionen elegantemente y soporten la interacción a través de dispositivos.
Por ejemplo, una consola asume que los gamepads son la entrada predeterminada, pero un jugador en PC o laptop también puede optar por conectar un gamepad bluetooth. En este caso, el ratón/teclado sigue siendo una entrada válida para ese jugador, pero puedes asumir que desea cambiar al gamepad conectado como el tipo de entrada principal.
Consulta la detección de tipo de entrada para más información.
Esquemas de control comunes
Al considerar vinculaciones de control específicas para el Sistema de Acción de Entrada, es mejor establecer consistencia a través de diferentes juegos. Las siguientes vinculaciones de entrada ayudarán a los jugadores a sentirse inmediatamente familiarizados y cómodos con los controles del gamepad.
| Entrada | Casos de uso comunes |
|---|---|
| ButtonA | Acepta solicitudes del jugador o selecciones de GUI. Alternativamente utilizado para acciones primarias como saltar. |
| ButtonB | Cancela solicitudes del jugador o selecciones de GUI. Alternativamente utilizado para acciones secundarias como esquivar, rodar o correr. |
| Thumbstick1 | Generalmente asociado con el movimiento del personaje. |
| Thumbstick2 | Generalmente asociado con el movimiento de la cámara. |
| ButtonL2, ButtonR2 | Generalmente utilizado para acciones primarias, como disparar. |
| ButtonL1, ButtonR1, ButtonX, ButtonY | Acciones secundarias como recargar, apuntar o acceder a un inventario o minimapa. |

Retroalimentación háptica
Muchos controladores de gamepad tienen motores integrados para proporcionar retroalimentación háptica. Agregar vibraciones y temblores puede mejorar significativamente la experiencia de un jugador y proporcionar retroalimentación sutil más allá de lo visual o lo auditivo.
Roblox admite hápticas para gamepads de PlayStation, gamepads de Xbox y el controlador Quest Touch. La retroalimentación háptica se gestiona a través de instancias de HapticEffect que se pueden establecer en un Type específico como GameplayCollision o UIClick.
Una vez que se establece un HapticEffect, puedes iniciar a través del método Play(), por ejemplo:
local Workspace = game:GetService("Workspace")local effect = Instance.new("HapticEffect")effect.Type = Enum.HapticEffectType.GameplayExplosioneffect.Parent = Workspace-- Reproduce el efecto hápticoeffect:Play()
Emulación de controladores
El Emulador de Controladores, accesible desde el menú Prueba de Studio, te permite emular con precisión la entrada del gamepad directamente en Studio. El controlador predeterminado es un gamepad genérico, pero puedes seleccionar alternativas desde el menú del selector en la parte superior izquierda.

Mientras pruebas el juego, puedes controlar el juego con el controlador virtual usando tu ratón.
También puedes hacer clic en Editar asignaciones en la esquina superior derecha para ver y editar las asignaciones de teclas para el controlador virtual, por ejemplo E a ButtonL2 o 9 a ButtonA. Estas asignaciones se guardan como otras configuraciones de Studio (por controlador, por usuario, por ordenador) y se traducen a eventos de gamepad tanto en la ventana del emulador como en la vista 3D.