UserInputService GamepadEnabled/KeyboardEnabled/TouchEnabled Returning True when they shouldn't

Upon trying to test my game on Roblox, I found out that UserInputService.GamepadEnabled returned true despite me not being on Console, not having any controller connected, or any devices other than my Keyboard, Mouse, Microphone and Headphones connected to my PC.
When I further inspected this issue, it turned out that not only does GamepadEnabled return true when it shouldn’t, but so do TouchEnabled and KeyboardEnabled.

I know this is more of a studio bug but alas I am not allowed to post in that category and yes, I did make a request to be able to post there.

Here’s the video showcasing the issue:

5 Likes

I’d also like to note that this has been happening after an update to Roblox studio which further develops my theory of it being a bug rather than anything else.

1 Like

I don’t have this bug and the TouchEnabled same with KeyboardEnabled seem normal, you could try looking into device manager on your PC to find the issue with GamepadEnabled, because when i tried it on my PC it seems okay.

2 Likes

I did look into Device Manager and nothing is plugged in except for my Keyboard, Mouse, Microphone and headphones. I even reinstalled roblox studio today and the issue persisted.

1 Like

I’m having this issue as well. It is really annoying. I was testing an old game of mine and figured the code was bad, but then I tested it on my most recent game and the same exact issue was happening. It seems to only happen within the studio testing environment.

2 Likes

experiencing this issue now as well - did any of you others who are experiencing this issue recently enable the controller emulation beta feature? That seems to be when the issue start happening for me
edit: looks like at least the gamepadenabled bug is known by roblox:

1 Like

it was enabled for me. i disabled it and it didn’t fix the issue.

I turned it off and then restarted studio but still have the same issue.

1 Like

Update: Tested my game today and the issue is still occurring.

Another update: i’m just going to setup a case where both UIS.KeyboardEnabled and UIS.GamepadEnabled are true, that’s my biggest issue right now.

In the meantime, you can bind to UserInputService.LastInputTypeChanged:Connect(f) and set your controls and UI based on that. This is usually best practice anyways, as many users may have a gamepad connected to their PC but not want to use it.

2 Likes

that is indeed a better idea than my intended solution, thank you…


You think this script will do the job?

1 Like

Hello, I’m having the same problem too but what font are you using? It’s cool.

1 Like

I’m using the JetBrains Mono Font. It is the Medium version. You can find it here: https://www.jetbrains.com/lp/mono/

Also! To solve my problem I simply just made a script to check whenever the user changes from an Input to another, and to detect whether it’s a Keyboard Input / a Console Input or a Mobile Input.

send it

the script that i am currently using to check whether a player is on a certain device has been posted on this thread already.

edit: you WILL need to adjust it to check for more than just “KeyboardInput” but yeah

1 Like

very annoying bug , i am not able to test on mobile due to this bug , roblox please fix this it is hampering the development on live games i work on

1 Like

We get this same bug over on the Pet Simulator 99 / PETS GO team as well. I have this same bug, GamepadEnabled always returns true. This happens only on Studio, and on all of my different devices (3 different PCs, Macbook Pro.) Seems to be tied to my Roblox account. Happens to one other guy on the team as well.

Incredibly annoying. I have to comment out our platform detection whenever I test.

2 Likes