Changing "Camera Mode" in settings permanently breaks ButtonR3 in experience-defined code

Reproduction Steps
I’m not sure how this works exactly on console since I am simply playing on desktop with a gamepad, but I marked this as an “xbox” bug anyways. I suspect this issue is at the core script level, and therefore should apply to xbox just the same.

Create a LocalScript with the following code:

ContextActionService:BindAction(
	"MyThumbstickBinding",
	function(action: string, state: Enum.UserInputState, input: InputObject)
		if state == Enum.UserInputState.Begin then
			print("Thumbstick clicked!")
		end
	end,
	false,
	Enum.KeyCode.ButtonR3
)

Click the right thumbstick. You should see a message in the output.

Then, go into settings and switch “Camera Mode” from any value, to any value.

Click the right thumbstick again. There should no longer be any message.

(see workaround) this also permanently marks any future InputBegan events for the thumbstick as gameProcessedEvent = true.

Using BindActionAtPriority, as well as attempting to unbind roblox’s PlayerModule bindings has no effect.

Expected Behavior
Switching camera modes should have no effect on the thumbstick.

Actual Behavior
Switching camera modes disables listeners to the right thumbstick, thus breaking experience code (such as a custom cross-platform camera system)

Workaround
Use UserInputService.InputBegan instead of ContextActionService, and completely ignore the second “gameProcessedEvent” parameter.
gameProcessedEvent will always be true once Camera Mode is switched in any way mid-game.

This means that your code (e.g. a custom camera) will have to listen to sunk events that it shouldn’t be listening to, such as clicking the thumbstick to capitalize text when entering text in a TextBox.

Issue Area: Xbox
Issue Type: Other
Impact: Very High
Frequency: Constantly
Date First Experienced: 2022-04-20 00:04:00 (-06:00)
Date Last Experienced: 2022-04-20 00:04:00 (-06:00)

3 Likes

Thanks for the report! We filed a report to our internal database and we’ll come back to you when we’ll have updates.

2 Likes

We are unable to reproduce the issue that you seeing. Are you still seeing this issue?