Roblox menerima input dari gamepad seperti pengontrol Xbox dan PlayStation. Untuk menyederhanakan input cross‑platform, termasuk gamepad, Roblox menyediakan Input Action System untuk mendefinisikan aksi seperti "melompat," "berlari," atau "menembak" dan mengatur binding untuk beberapa input perangkat keras untuk menggerakkan aksi tersebut.
Saat mengikat input gamepad, lihat skema kontrol umum untuk menciptakan pengalaman gamepad yang konsisten bagi pemain. Setelah input diatur, Anda dapat meningkatkan pengalaman pemain dengan menyertakan umpan balik haptik pada pengontrol yang mendukung.
Saat Anda membangun dukungan untuk gamepad, ingatlah untuk sering menguji menggunakan gamepad yang terhubung atau Emulator Pengontrol di Studio.
Deteksi jenis input
Dalam pengembangan cross‑platform, penting untuk menentukan dan merespons jenis PreferredInput yang digunakan pemain, biasanya untuk memastikan bahwa elemen UI seperti tombol dan menu di layar berfungsi dengan baik dan mendukung interaksi di seluruh perangkat.
Sebagai contoh, konsol menganggap gamepad sebagai input default, tetapi seorang pemain di PC atau laptop mungkin juga memilih untuk menghubungkan gamepad bluetooth. Dalam hal ini, mouse/keyboard tetap menjadi input yang valid untuk pemain tersebut, tetapi Anda dapat menganggap mereka ingin beralih ke gamepad yang terhubung sebagai jenis input utama.
Lihat deteksi jenis input untuk informasi lebih lanjut.
Skema kontrol umum
Saat mempertimbangkan binding kontrol spesifik untuk Input Action System, sebaiknya Anda membangun konsistensi di berbagai permainan. Binding input berikut ini akan membantu pemain merasa akrab dan nyaman dengan kontrol gamepad.
| Input | Kasus penggunaan umum |
|---|---|
| ButtonA | Menerima prompt pemain atau pilihan GUI. Sebagai alternatif digunakan untuk aksi utama seperti melompat. |
| ButtonB | Membatalkan prompt pemain atau pilihan GUI. Sebagai alternatif digunakan untuk aksi sekunder seperti menghindar, mengguling, atau berlari. |
| Thumbstick1 | Umumnya diasosiasikan dengan gerakan karakter. |
| Thumbstick2 | Umumnya diasosiasikan dengan gerakan kamera. |
| ButtonL2, ButtonR2 | Umumnya digunakan untuk aksi utama, seperti menembak. |
| ButtonL1, ButtonR1, ButtonX, ButtonY | Aksi sekunder seperti memuat ulang, menargetkan, atau mengakses inventaris atau minimap. |

Umpan balik haptik
Banyak pengontrol gamepad memiliki motor di dalamnya untuk memberikan umpan balik haptik. Menambahkan getaran dan guncangan dapat sangat meningkatkan pengalaman pemain dan memberikan umpan balik halus di luar visual atau audio.
Roblox mendukung haptik untuk pengontrol gamepad PlayStation, pengontrol gamepad Xbox, dan pengontrol Quest Touch. Umpan balik haptik dikelola melalui instance HapticEffect yang dapat diatur ke jenis tertentu Type seperti GameplayCollision atau UIClick.
Setelah HapticEffect tersedia, Anda dapat menginisiasinya melalui metode Play(), misalnya:
local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Parent = Workspace
-- Mainkan efek haptik
effect:Play()Emulator pengontrol
Emulator Kontroler, yang dapat diakses dari menu Uji di Studio, memungkinkan Anda untuk secara akurat mensimulasikan input gamepad langsung di Studio. Kontroler default adalah gamepad generik, tetapi Anda dapat memilih alternatif dari menu pemilih di pojok kiri atas.

Saat melakukan pengujian permainan, Anda dapat mengontrol permainan dengan kontroler virtual menggunakan mouse Anda.
Anda juga dapat mengklik Edit pemetaan di pojok kanan atas untuk melihat dan mengedit pemetaan tombol untuk kontroler virtual, misalnya E menjadi ButtonL2 atau 9 menjadi ButtonA. Pemetaan ini disimpan seperti pengaturan Studio lainnya (per kontroler, per pengguna, per komputer) dan diterjemahkan menjadi peristiwa gamepad di jendela emulator dan viewport 3D.