Typical Dead Zone on Xbox Controller .22? This seams high.

Hi,
Experiencing some control drift in my game. So I logged
Input.GetAxis(“RightStickX”)

I discovered that when the stick is centered I’m getting values as high as 0.219 Is this normal? Setting my deadzone so high feels like it will make the game a bit unresponsive.

Are others using the Xbox controller experiencing values this high when the stick is centered?

The log Read:
(I’m holding stick)
-1
-1
-1
-1
(I release stick)
-.79
.21
.21
.21
.21 (.21 will continue forever)

I’d imagine those values might be the last “active” input before the stick is ignored. The stick would have to be pretty loose or the sensor on it would have to register incorrectly to get that kind of value in a “centered” position, but it’s possible given the negative to positive value.
If it’s just the stick, you might want to try to center it manually and see if it stops that way. 0.21 should be easy enough to center in, and if it does it reliably, it might just be the stick wearing out.

I’m unfortunately not experienced with Unity programming(just commenting to see if anything helps), but using Microsoft’s XNA framework for the C languages had a similar deadzone(0.25), with a square shape. I remember having to call an function like RightStick.customDeadzone() or something to allow all values of the stick and program my own.
A centered value should register most values. After removing the default deadzone in that framework, it could register values like, 0.011231 or so when I set up the magnitude.

I’m not sure if you’re actually programming this game, or just looking at the values, but if you are programming, maybe look for a function that allows that so you can program it yourself if Unity’s has that as a pre-defined value.

But the typical deadzone is about 0.2 - 0.25 for most games. It’s certainly large, and problematic it certain games, but it seems to be the industry standard.

Hopefully some part of that was helpful.

Thanks for the data. :slight_smile:

@EternalDahaka covered most of this, but just to add that I developed a project using an Xbox One controller and the stick’s input values at idle were pretty large as well. I’d routinely get 0.2-0.3 just leaving it idle, and I’d have to recenter. When in doubt add an option to the let the user configure it!