After using the UserInputService to listen to Thumbstick1 input for steering on my vehicle, I noticed that the thumbstick input would only fire shortly after I moved my mouse. And shortly after that it stops. If I create a new script with the same name as ControlScripts and put it in my StarterPlayerScripts to prevent it from replicating UserInputService starts to register the event.
local UserInputservice = game:GetService("UserInputService")
UserInputservice.InputChanged:Connect(function(Input, Processed)
if Processed then return end
local Key = Input.KeyCode
if Input.UserInputType == Enum.UserInputType.Gamepad1 then
if Input.KeyCode == Enum.KeyCode.Thumbstick1 then
print(Input.Position.X, Input.Position.Y, Input.Position.Z)
end
end
end)
This is not a bug. ControlScript adds a ContextActionService binding over Thumbstick1 because, surprise, you control the character using Thumbstick1 with a gamepad. This means that UserInputService will fire this input with gameProcessedEvent = true. This is all intended.
Just add a ContextActionService binding that overrules the character control one using BindActionAtPriority, or ignore the gameProcessedEvent parameter for this specific action.
I figured the ContextActionService was the one preventing it from firing. Had no clue it sent Processed as true though. I did try a BindActionAtPriority and it didn’t work so I assumed it was a bug. I guess my priority wasn’t high enough. Anyways Thanks.