So I have a weird problem I’m not sure if its a bug or just my implementation. I’ll post a gif that may help to outline the problem more clearly than just words.
See how the sphere stays pretty much accurate and the square deviates away, they are both receiving the same input the left analog stick but using two different systems and different methods.
The sphere is using the below code, which is the accurate and correct output.
The square thing is using the below method derived from the interface class.
public partial class PlayerInputStuffSystem : SystemBase, PlayerInputActions.IPlayerControlsActions
{
//This method does not update every frame hence why I get the above glitch or error.
public void OnDirectionalControls(InputAction.CallbackContext context)
{
inputdirection = context.ReadValue<Vector2>();
Debug.Log("The actual input is " + inputdirection);
}
I’ve also set in project settings for the input system to DynamicUpdates. I think the method might still be using FixedUpdate but I’m not sure how or if its possible to change it or if its a bug or just maybe I messed something up somewhere.
Could this be due to the input not exceeding the dead zone on certain frames? Not sure if the first method respects the dead zone since you are polling instead of waiting for an event, although I feel like that would be a bug.
I don’t think its an issue with the dead zones I’ve tried messing with the both the inner and outer dead zone and its no different.
I’ve also used the GamepadVisualizer and it seems there’s no lack of events being sent, although maybe there isn’t enough, because the dots seems sparsely located but I don’t know if that’s how its supposed to look.
I’m at loss. I guess I’ll have to stop using analog controls for the time being.