[Studio Beta] Introducing Gamepad Controller Emulator

Hi,

Thank you! And yes, we’re working on the console controller bugs and the VR controller emulation right now.

5 Likes

Finally, I thought I would have to purchase an xbox controller to make sure controller support exists in my game.

4 Likes

This is really cool! I probably won’t ever use this because I prefer using my physical controller over the virtual controller, but this could help some other devs without physical controllers! Also the virtual left thumbstick doesn’t work for me.
May I sugest emulating gyroscope/accelerometer?

5 Likes

This will be extremely useful for us developers as now we can test out controls much more efficient and saves us so much time. We don’t have to go on different devices or connect controllers to test.

7 Likes

The icon looks ood with the next gen studio beta

8 Likes

i was just thinking of buying a controller to help make my game console compatible. Glad to know thats no longer neccesary

6 Likes

Hell yeah now i dont have to buy an xbox

6 Likes

This is great! I was waiting for this to test Xbox games

10 Likes

We’re working on the new icons, and they’ll be out soon. Stay tuned for the updates!

10 Likes

About time. Love this update :bangbang:

8 Likes

I think there’s a bug either in the emulator or the virtual cursor. It only moves the “virtual position” when the direction of the joystick changes, not each frame. We can clearly see this happening in this video:

There’s also another bug where pressing Q (or the “select” button keybind) will bring up the virtual cursor, but then the virtual cursor would reset each time another keybind related to moving the joystick gets pressed. We also can’t turn off the virtual cursor using keybinds. Here’s a demonstration:

10 Likes

Thanks for catching this! We’re working on making virtual cursor compatible with emulator right now. Stay tuned for the full release!

8 Likes

make it where you can change it to DualShock 4/5 icons instead of xbox to get rid of confusion for playstation players

5 Likes

How do you turn the controller emulator off?


Kind of what’s going on:

After toggling on the controller emulator, and pressing play (f5) in studio, UserInputService.GamepadEnabled is true, with of course the keybinds being mapped to controller buttons. Which is to be expected…

So when stopping the playtest, and clicking the controller emulator icon again, the widget disappears, which I’d assume is turning the controller emulator off.
BUT despite having the widget not showing or what I’d presume the controller emulator being off, I playtest again, though for some reason during that playtest the property UserInputService.GamepadEnabled is still set to true(?) even though the controller emulator widget is not currently open and the keyboard keys are not currently mapped to a controller (Which this last part is expected behavior as far as I’m aware but not the GamepadEnabled state).

So to disable the GamepadEnable state from being set true, I turned the beta off (Though closing studio and opening the same place again does that too);
Though I wanted to make a comment on this because the behavior of that specific part seems confusing or unexpected. I turned the beta back on to double check, this only occurs after you turn the controller emulator on for the first time.

Forgot to mention the device was set to HD 1920x1080 under PC, and never changed this throughout the process.


TLDR:

UserInputService.GamepadEnabled is set to true in playtest even though the controller emulator widget is not on/visible.

9 Likes

Thanks for bringing this to our attention. We are aware of this issue, and a fix is on the way!

7 Likes

Is there an emulator for mobile devices on studio too?

Yes, navigate to ‘Test’, then ‘Device’ and then select one of the phones which you want to emulate on.

(You don’t need this Beta enabled for testing mobile devices)

image

image

image

Hey, just wanted to report a bug. For some reason Input.Position doesn’t get set when dragging the right thumbstick around.

local State = UserInputService:GetGamepadState(Enum.UserInputType.Gamepad1)
			
for _, Input : InputObject in State do
	if Input.KeyCode == Enum.KeyCode.Thumbstick2 then
		print(Input.Position) -- This only prints (0, 0, 0) with emulator
	end
end

I am using the xbox one emulator controller.

This code works with an actual controller connected

Thank you Roblox. Its been years since Roblox has been on Xbox and this only just now arrived. So much potential is now being taken in consideration.

Is there an estimate to this fix, still happening

1 Like