[Studio Beta] Introducing Gamepad Controller Emulator

Hi Creators,

We are thrilled to announce Gamepad Emulator is now available in Studio Beta!

We developed the Gamepad Emulator to streamline your development process by removing the need for physical controllers, allowing you to iterate faster and test your game’s controls in real-time, directly within Studio. You can simulate inputs from PlayStation, Xbox, and generic controllers directly in Studio, so you can refine controls and gameplay seamlessly across multiple platforms.

Enabling the beta

To get started with the Gamepad Emulator beta in Studio, follow these simple steps:

  1. Open Studio and navigate to the File menu.

  2. Click on Beta Features.

  3. Enable the Gamepad Emulator studio beta by checking the corresponding checkbox and press Save.

  4. Restart Studio if prompted.

Features

Interactive Gamepad Controller Plugin

Our plugin features a fully interactive gamepad blueprint, complete with a device dropdown that allows you to choose between different controllers (PS4, PS5, Xbox, Generic). Once selected, you can directly interact with the gamepad by dragging the thumbsticks, pulling the triggers, and clicking the buttons to simulate real controller inputs.

Keyboard shortcuts

The plugin also supports keyboard shortcuts. During testing, this allows you to simulate gamepad inputs by pressing specific keys on your keyboard, with each shortcut mapped to buttons, thumbsticks, and triggers on the virtual controller using the virtual controller widget and also the 3D view.

Custom keyboard mapping

You can fully customize which keys simulate specific gamepad inputs, such as buttons, thumbsticks, and triggers. If you need to revert to the original configuration, the Restore Defaults option allows you to quickly return to the default key mappings.

Best practices

  • Currently, keyboard mappings can only be assigned to a single key—modifiers like Ctrl, Shift, or Alt are not supported.

  • Each key can only be mapped to one gamepad action, meaning no two functions can share the same key binding.

  • Each controller has its own keyboard mapping

How to get started

Once you have enabled the beta:

  1. Go to the Test tab in Studio.

  2. Select Controller under the Emulation section.

  3. Press Play to begin testing with the virtual gamepad.

Alternative option:

  1. Go to the Test tab in Studio.

  2. Select Device under the Emulation section.

  3. Select a game console from the dropdown, and the corresponding virtual controller will open automatically.

  4. Press Play to begin testing with the virtual gamepad.

Known issues

  • Currently, the keyboard mappings window does not have a scrollbar. If there are more mappings than can fit on the screen, you will need to resize the window to see them all.

Looking to the future

There are a lot of enhancements we would like to add, and we could use your feedback! Here are some areas we plan to improve:

Keyboard shortcut with modifiers:

  • We’re working on enabling the ability to customize mappings with key modifiers (e.g., Ctrl, Shift, Alt) to give you more flexibility. Currently, we only support single-key mappings, but soon you’ll be able to define complex combinations.

Mouse movement:

  • We’re also excited to announce that we’ll be adding support for mouse movement to simulate thumbstick controls. This will allow you to use the mouse to mimic joystick movements directly in the 3D viewport, giving you a more intuitive way to test and fine-tune controls.

VR emulation:

  • VR emulation is also currently in the progress, allowing you to simulate VR headset and controllers in Studio. Stay tuned for updates, and we look forward to hearing your feedback once this feature is available!

Let us know your feedback as we continue to enhance these tools!

A big shout-out to everyone who helped bring this to life! @BobaTops, @idevride, @notchickennnn, @sanslumiere, @spatialCompute, @reverenddoak, @bezzie_boi, @ignotuscaligo, @Rusi_002, @MoonRocketApollo, @worldsynth, @montximontxi, @yohooyohoo, & @DodgerJavi

Happy developing!

300 Likes

This topic was automatically opened after 9 minutes.

NOW THIS IS WHAT WE"VE BEEN WAITING FOR, this is byfar such a beautiful update… THANK YOU once again roblox

36 Likes

I actually thought that this would release with the VR Emulator.

But it’s cool that it’s out already.

12 Likes

This looks very fascinating, I might be able to try this with my Xbox controller.

7 Likes

What did they do to the PS5 controller. :sob:
image

29 Likes

Thank you!!! I am so glad emulation is getting improved and to hear VR emulation in the works too is great news!

Can you guys also consider looking into improving touch screen support for mobile emulation, it currently doesn’t allow you to use multiple fingers.

6 Likes

This is actually neat for testing controller inputs without a controller, and would make development for controllers cheaper, since you know, you just have to press keys on your keyboard or hold your primary mouse button on a virtual button/joystick instead of going out and buying a controller which fits one of the presets for like 30 euros (or whatever they might cost in your area).

I do however think the outlines should be made thicker so it doesn’t just look like buttons floating in the void (especially on dark mode).

5 Likes

This is impressive, making console support more approachable to implement!

4 Likes

This is neat, but sometimes you do need that physical connection. Like, are there any plans for syncing a smartphone to Studio via USB data tether? I know there are dozens of mobile emulators built-in already, but none of them support device-specific functions like acceleration and rotation sensors. I’m trying to script gyroscopic motion controls for drones (most real-life flight controller apps have a “gravity mode” where it steers by tilting your phone or tablet) I cannot test those inputs in Studio because PCs lack that kind of hardware.

I’m basically trying to code this for mobile users:
DroneGyroExample

14 Likes

BEAUTIFUL UPDATE! W update after W update! Been waiting for this!

5 Likes

Dope! Great update! A lot of small but amazing features have been added recently.

3 Likes

Will changing the gamepad type in the emulator cause UserInputService APIs to return image icons for keycodes on the chosen gamepad?

3 Likes

A fantastic update that I was absolutely in need of. Will mobile gesture emulation be supported in the future?

Currently, there is no way to emulate pinch or spread gestures for testing custom zoom controls on mobile or similar use cases.

Reference image:

33 Likes

Godsent :pray: :pray: :pray: :pray: :pray: :pray: :pray: :pray: :pray: :pray: :pray:

3 Likes

Thank you for your feedback, we’re aware of some resolution issues and working on a fix.

4 Likes

This is extremely useful! I don’t own a controller so have had to basically guess up until this point. Thanks Roblox.

4 Likes

Now this is something very useful.

I actually do have a physical controller so I can test my games with a real controller but
this is super useful for those who do not have a controller to check if controller buttons work correctly.

Is there a way to rebind the key inputs tho?

Having to press numbers for A, B, X and Y seems a bit… awkward at best.

I personally would probably use my numpad on my keyboard to emulate right joystick and have the A, B, X, Y, trigger and bumper keys mapped around it so I can press them with my thumb and fingers easily.

5 Likes

Of course this comes out a day after I spend $70 on a stupid controller to add console support.

It’s a great update but it stings lol

4 Likes

Same here: no more running to the games room to grab the controller off the xbox with the headset plugged in and running back to my bedroom to continue developing.

Why does the headset need to be plugged in?

my xbox controller is made functional by 2 rubber bands stretched over the usb plugged in to the controller and the headset plug as the usb port only works when the usb is angled down so it points up into the controller.

4 Likes