Gamepad and VR Emulator Updates

Hi Creators,

We’re excited to share some updates following the release of the Gamepad Emulator beta and VR Emulator beta!

We’ve added a set of new features to make it easier than ever to emulate console gamepads and VR controllers, with new and improved controls to help streamline development and testing cycles, along with some more bug fixes.

Previously available through Studio Beta, Gamepad and VR controller emulation is now fully released.

How to turn on the Controls Emulator

  1. Go to the Test tab in Studio.
  2. Under the Emulation section, select Device.
  3. Select your desired device from the Device Emulator dropdown.
  4. The corresponding virtual controller will open automatically.
  5. Press Play to start testing your game.

In the Next Gen Studio UI (currently in Beta):

  1. Go to View > Device in the menu system (on Mac, these will be in the MacOS menu bar)
  2. Select your desired device from the Device Emulator dropdown.
  3. The corresponding virtual controller will open automatically.
  4. To toggle the virtual controller manually, use the Virtual Controller Checkbox in the 3D viewport mezzanine.
  5. Press Play to start testing your game.

New Features

Grouped CFrame Selection

You can now control multiple CFrames simultaneously for translations and rotations. Simply check the boxes to select which CFrames to control. Please note that at least one controller must be selected at all times. Using keyboard shortcuts Shift + Left/Right will cycle in between preset combinations of controllers, allowing for more convenient swapping.

Easily Reset CFrames

Accidentally lost track of your controllers? Snap back to their default positions by clicking on the Reset Positions button in the toolbar.

Translation Sensitivity Slider

Use the slider to specify sensitivity levels for CFrame translation, providing more fine-grained control over how the speed at which CFrames change positions.

Bug Fixes:

We heard you, and here’s what we fixed:

  • Added a scrollbar to the keyboard mappings dialog
  • CFrame translation is now frame rate independent
  • Fixed an issue where the emulator was always occupying Gamepad1, preventing other controllers from being assigned to the first slot
  • Fixed an issue with using mouse emulation to drag scrollbars
  • Conditionally allowing keyboard input fall through to prevent accidental gamepad inputs (i.e. while typing in textboxes)

Looking to the future

We’re excited to see what kinds of games you’ll make with the help of the emulator and would love to hear any feedback you have!

Special thanks to the team that helped bring the Gamepad and VR Emulators to life! @BobaTops, @notchickennnnn, @idevride, @sanslumiere, @spatialCompute, @reverenddoak, @bezzie_boi, @ignotuscaligo, @Rusi_002, @MoonRocketApollo, @worldsynth, @montximontxi, @yohooyohoo, @ZenoAjahChi, @LittleGreenBrick & @DodgerJavi, @Bluff_006, @LittleGreenBrick, @adotout, @NoUniqueAddress, @MetaVars, @crypto_mancer and many more!

Happy developing!

115 Likes

This topic was automatically opened after 10 minutes.

Cool, but I suggest also fixing the numerous bugs with VR and Roblox. You still can’t connect a Meta Quest (3 in my case) to Studio with the Meta Link App.
I noticed a bug report on this as well which still hasn’t been fixed.

16 Likes

Bro what the hell is up with that cursed dog avatar for the demo, though? :sob:

14 Likes

This is amazing!
As a developer who doesn’t have a gamepad, I can now work on (and test) console support on my own for my games.

As for VR, I have to try this as well. It looks very neat!


Are there plans to improve mobile device emulators as well? I would love to see support for UserInputService events such as TouchRotate and TouchPinch.

For instance, see below the implementation of two-finger pressing emulation in Android Studio:

Holding the Control key allows you to test two-finger zooming/rotating and pinching with the mouse cursor.


(Not my image)

I would love to see something similar on Studio. It would allow developers to test their mobile controls further without switching multiple times between Studio and their mobile device.


Thank you for this!

12 Likes

Great, will be much easier to test for these devices.

I would just like to bring attention to this thread about emulating pinching motion for touch devices in studio as it’s related to emulating inputs. This has been a huge hindrance of mine for literally years at this point. The only way to test is to publish the game under a new experience and play the game on your phone. God forbid it doesn’t work on the first try, because then you need to repeat this process of publishing each time.

Thanks!

6 Likes

I have been using this to test my vr game I have been working on its faster than me testing it on my oculus

4 Likes

I’m very much looking forward to trying this out. I develop theme parks and first person experiences so this will be a very fun and interesting feature to try!

1 Like

I don’t think it’s a dog, rather a cat.

2 Likes

Hopefully the issue where using VR Emulator permanently disabled Roblox Player from detecting real VR Devices isn’t there anymore.

1 Like

It looks like a dawg to me.

1 Like

This is helpful but shouldn’t we know how many players to expect when we support VR and console?

2 Likes

image
Sooo is gamepadenabled being true always because of this update going to be fixed?

I love that we’re adding more devices/features to the emulator!

Hence on the topic of Device Emulators, do you guys think there would be a chance to have any Logitech Wheel/G920 supported within the Roblox client? If I’m not mistaken, it’s flagged by the Anti Cheat and instantly closes the game whenever connected unless you’re using a custom mapping software- in which is also hacky as well.

I’d love to start pushing out development on vehicles, specifically for devices outside of KBM. I’ve had this on my mind for a while however I haven’t seen much containing this and would be amazing. Is there by chance any plans on implementing support for Steering Wheels or an ETA if it’s posed as an idea already?

I hope we’re able to shed some light on this.

Thanks

  • core

Hi,

The game.UserInputService.GamepadEnabled issue should be fixed. You just have to turn off the Controller widget for it to be false. (I just tested it.)

3 Likes

Thank you for your feedback.

I’m not sure if I fully understand your question. The number of players is something that can be specified in Team Test. Each Team Test instance can have its own Controller Emulator.

1 Like

Hi, thanks for your feedback, @corehimself. As far as supporting steering wheels, please file a Feature Request for Engine if you haven’t done so. If the request gathers enough support, the team will add it to its roadmap.

2 Likes

Oh sorry, I meant to ask how many more players to expect when we implement VR and console support.

1 Like

That is a very good question. If we discard all other factors, I would imagine that the data would be proportional to the install base. Online statistics show that there are fewer console and VR players than PC or mobile players. However low adoption also means opportunity: these might be untapped markets for Roblox games.

We can also drive adoption through better tooling: if you create a great console or VR game with better tools, it might attract new console and VR players.

Finally, there might be a number of people who play PC or mobile games with game controllers, it all depends on the game and the gameplay design.

I wanted to point out that the PS5 emulator displays 16GB of RAM, which is correct. However, a few months ago, we found that since it was a PS4 app running on PS5, it wouldn’t be allowed to exceed the memory constraints of a PS4 before closing due to memory usage?