Trigger vibrations is not working on xbox controller

I want to use trigger motors for a combat game. I’m using a xbox series s/x controller and it’s definitely have trigger vibration, I tested it in another games and it works fine. I don’t think there’s an issue on the script because large and small motors are working great but when I change the motor to “RighTrigger” or “LeftTrigger” it’s not working. Is there any way to use trigger motors?

2 Likes

I can verify that this does not work on the XBOX Series controller, one I purchased earlier today. Both the large and small motors work, but the triggers do not.

Perhaps this is actually a bug with the engine itself?

EDIT, here’s the code I used to test. Swapping the motors out for large and small works fine.

local HapticService = game:GetService("HapticService")
local UserInputService = game:GetService("UserInputService")

if not UserInputService.GamepadEnabled then UserInputService.GamepadConnected:Wait() end

while task.wait(1) do
    print("Left Trigger")
    HapticService:SetMotor(Enum.UserInputType.Gamepad1, Enum.VibrationMotor.LeftTrigger, 0.5)
    HapticService:SetMotor(Enum.UserInputType.Gamepad1, Enum.VibrationMotor.RightTrigger, 0)
    task.wait(1)
    print("Right Trigger")
    HapticService:SetMotor(Enum.UserInputType.Gamepad1, Enum.VibrationMotor.LeftTrigger, 0.5)
    HapticService:SetMotor(Enum.UserInputType.Gamepad1, Enum.VibrationMotor.RightTrigger, 0)
end
3 Likes

Bumping this as I’m still having the same issue using an xbox series x/s controller. I also noticed that using HapticService:IsMotorSupported returns false for both triggers.

1 Like

Well… then it’s not supported?

It has trigger motors though, and they work in other games like Forza Horizon 5.

You can use ‘IsVibrationSupported’ to check if a gamepad supports a specific type of vibration: HapticService | Documentation - Roblox Creator Hub.

If it’s not supported, you can fall back to using a supported vibration motor instead. Lower fidelity, but still a haptic feedback.
This has the advantage that your code will ‘just work’ if Roblox adds further support to a gamepad.