I hoped someone would make a post about this issue; I guess not…
Context
When playing on PC with a steering wheel plugged in (also utilizing x360ce), the camera zoom level changes unexpectedly when the UserInputType
switches from mouse
to gamepad
, and vice versa. For instance, a player would get in and zoom in via mouse to get a first-person-view. However, the camera zoom level changes unexpectedly and zooms out when the player starts pressing the gas pedal (right trigger on controller–see Figure 1), or any button which changes the input type to gamepad
. Additionally, it locks the cursor to a certain point when the input type switches to console, which is a little bit top-left from the center of the screen (seen on Figure 2).
Attempting to zoom back in via mouse glitches the camera and causes multiple UserInputType
changes. I’ve come across this issue while driving an A-Chassis vehicle just a few days ago, but it seems as if this issue persists in ALL vehicles.
I assume the zoom level “resets” whenever the last input type changes, which has never happened before until a recent Roblox update (I believe the last published Roblox update; writing from 8/31/25). Conversely, both inputs coexisted without issues before the recent update.
Figures 2 and 3 portray the zoom behavior before and after the issue.
For those who aren’t aware of what x360ce is: it is an Xbox controller emulator that lets one play certain games with a plugged-in Xbox controller (such as a steering wheel).
TL;DR
TL;DR: When playing on PC with a steering wheel plugged in (also utilizing x360ce), the camera zoom level changes and “resets” unexpectedly when the UserInputType
switches from mouse
to gamepad
, and vice versa. Attempting to zoom back in via mouse glitches the camera and causes multiple UserInputType
changes.
Figures
^ Figure 1: Right trigger on x360xce
^ Figure 2: Video showcasing unexpected behavior on the default Roblox Jeep (8/31/2025)
^ Figure 3: Video showcasing expected behavior on a A-Chassis vehicle (8/14/25) [LAST CONFIRMED WORKING VERSION]
The main focus of Figure 3 is not directly relevant to this post, but it includes me utilizing a steering wheel to drive a vehicle on Roblox, which demonstrates the expected zoom behavior. This is the most recent footage I have which portrays the expected behavior. Unfortunately, I did not log the client version during this footage.
^ Figure 4: Video showcasing unexpected behavior on a A-Chassis vehicle, as well as TopBarPlus glitches. (9/1/2025)
Buttons DO NOT work when pressing on the steering wheel; however, it works via mouse. Pressing the appropriate button (in this case B) doesn’t trigger anything. Additionally, one can see gamepad glitches on the top right corner.
^ Figure 5: Photo taken from Figure 2 depicting
UserInputType
interference with mouse
and gamepad
, which spammed the output. (8/31/2025)
Expected v. Actual
- Expected: Camera remains unchanged and consistent regardless of input type after setting it to first person via mouse.
- Actual: Camera “resets” after last
UserInputType
isgamepad
.
- Actual: Camera “resets” after last
- Expected: One should be able to zoom back via mouse in while using gamepad controls.
- Actual: Camera “resets” very frequently and spams
mouse
andgamepad
UserInputType
changes in the output as if they are interfering (repo place; InputChanged)
- Actual: Camera “resets” very frequently and spams
- Expected:
mouse
andgamepad
UserInputType
s should not interfere with each other when using both inputs at the same time (has been the norm since forever).- Actual:
mouse
andgamepad
UserInputType
s interferes frequently when both inputs are detected as seen withUserInputService.LastInputTypeChanged
, glitching the camera.
- Actual:
Severity
- Disproportionately impacts ALL vehicle-based games
- Having a first person view (or even a custom view) is impossible with a steering wheel without utilizing a 3rd party plugin since it resets for every input change (like a first person A-Chassis plugin) (Figures 2 and 4)
- Impacts ALL vehicle systems (NOT JUST A-CHASSIS PER SE!!!) (Figure 2)
- Impacts TopBarPlus controller feature due to
UserInputType
interference (Figure 4)
Reproduction
- Download the accompanying repo file below this section (or get any vehicle from the toolbox)
- Publish to Roblox
- Plug in steering wheel
- Set up x360ce emulator
- Play in Roblox Client
- Try zooming in via mouse
- Drive the vehicle via steering wheel setup
Reproduction File: input bug repo.rbxl (114.0 KB)
UserInputService script which replicates the output spamming in Figures 2 and 5:
local UserInputService = game:GetService("UserInputService")
local function onLastInputTypeChanged(lastInputType: Enum.UserInputType)
if lastInputType.Name:find("Gamepad") then
print("Platform: Gamepad")
elseif lastInputType == Enum.UserInputType.Keyboard then
print("Platform: Keyboard")
elseif lastInputType.Name:find("Mouse") then
print("Platform: Mouse")
elseif lastInputType == Enum.UserInputType.Touch then
print("Platform: Touch")
else
print(`Platform: Other ({lastInputType.Name})`)
end
end
UserInputService.LastInputTypeChanged:Connect(onLastInputTypeChanged)
onLastInputTypeChanged(UserInputService:GetLastInputType())
If this script doesn’t fully replicate the issue, one may have to drive a vehicle in order to invoke the interference spamming.
“Relavant” Information
Operating System: Windows NT 10
Steering Wheel: Logitech G920
External Programs: Logitech G HUB, x360ce (Xbox Emulator)
Roblox Client Information:
Client Version: 0.688.1.6880864 (b55099)
Client CoreScript Version: 80471914653504.3437
(may have typos; resort to accompanying screenshot above)
There has been some issues prior to this post about incorporating steering wheels + xbox emulators with Roblox such as this post below (most likely Hyperon issue which is now patched):
On my end, there have been no issues whatsoever until this camera (and UserInputService
) glitch started occurring.
Other Information
CPU: Intel Core i7-9850H
Dedicated GPU: Nvidia Quadro RTX 4000
Internal GPU: Intel UHD Graphics 630
Memory: 64 GB
Type: Mobile workstation (i.e., a laptop but not for “home” or “gaming”)
^ incase this possibly helps
The hardware is most likely not the cause per se, but I’ve provided my workstation’s specs in case it assists in reproducing the issue.