If you set the StarterPlayer’s DevComputerMovementMode to KeyboardMouse, you cannot control your character with a Gamepad.
This has been happening for a few weeks now (even on consoles), but I haven’t looked into it until recently. I figured it was a problem on my end, but apparently not!
I’m not sure if this is the specific cause of the problem, but it does appear to reproduce it.
An example of the effect it has on games is: Super Nostalgia Zone - Roblox, where console users can only move around by using the custom click-to-move feature provided by the developer.
Temporary workaround I’ve come up with. It’s pretty bad.
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local playerScripts = player:WaitForChild("PlayerScripts")
local playerModule = playerScripts:WaitForChild("PlayerModule")
local controlModule = playerModule:WaitForChild("ControlModule")
local gamepad = require(controlModule:WaitForChild("Gamepad"))
playerModule = require(playerModule)
controlModule = playerModule:GetControls()
local function fixGamepad()
local lastInputType = UserInputService:GetLastInputType()
if lastInputType.Name == "Gamepad1" then
local controllers = controlModule.controllers
if controlModule.activeController ~= controllers[gamepad] then
controlModule:SwitchToController(gamepad)
end
end
end
RunService:BindToRenderStep("GamepadPatch", 0, fixGamepad)