Here I print out the magnitude of the Left Stick on a Gamepad with a deadzone, and lo and behold it goes below 0.125, and it goes between 0.925 and 1 too.
There are no other processors or interactions on this input action.
I have so many issues with the Input System but now itās literally not doing what it was designed to do. I donāt even know how to ask for support on this, I know your codebase is a mess and frankly Iām keeping myself from using words I canāt take back. Itās like every time with this system.
I would advise you to decouple your low level layer and rework your high level layer, this time with a clear focus instead of 15 different ways of implementation, none of which seem to work with processors apparently.
Thatās not how the deadzone processor works. It renormalizes in the range you give. So of course it drops below 0.125 and above 0.925.
////EDIT: Put another way, what youāre setup is saying is ātreat 0.125 as my ZERO and 0.925 as my ONEā. So if the stick axis is below abs(val)==0.125, you get zero. If itās above abs(val)==0.925 you get +/-1. And in-between you get the full [0ā¦1] range. TBH I donāt get what usefulness the setup youāre describing would have.
@rdjadu I didnāt really understand what you meant until I saw the code for it. Iāll leave my own explanation here as well.
So if your stick deadzone min is 0.125, and your stick magnitude is 0.1, it will clamp to 0: great. What the documentation DOESNāT tell you is that any magnitude between your min and max is renormalized. This is the Stick Deadzoneās equation:
Phasing out these values might be useful in cases where you want to drive animation that switches between full sprint on full stickpress and walking on anything below your max, where these values can be used as precise marker values.
So this one was on me, but I remain adamant that your codebase is a mess. InputActionState is a 4500+ line script that, in an object oriented world, apparently needs to hold every classās hand. Sorry to work this in here but Iām at the end of my wits with the code for this thing and Iām gonna keep making a fuss about it until in 10 years the backend for this will be replaced with something less hernia-inducing.
A ādeadzoneā is any zone that is ignored, mainly to prevent errors due to hardware-inconsistencies.
However, as a developer, you want to be able to simply use axes as a 0-1-value. So anything within the ālivingzoneā for your controller is normalized to that range.
deadzone is thus used to translate your Controller-Input to the Input-Axis for the engine. Once youāre inside your game, you should always be treating your Input-Axis as a 0-1 value. The DeadZone is more low-level than you should (normally) be looking at while in-game.