Null Reference Exception

I haven’t seen the issue yet, but for some reason I am getting a null reference from my OnEnable/OnDisable methods

//InputReader
public class InputReader : MonoBehaviour, PlayerControls.IPlayerInputActions, PlayerControls.IVehicleInputActions
{
private PlayerControls controls;

public event Action JumpEvent = delegate { };
public event Action<Vector2> MoveEvent = delegate { };
public event Action ToggleEnter = delegate { };
public event Action ToggleExit = delegate { };
public event Action PickupEvent = delegate { };

public static bool istoggleEnter = false;
public static bool istoggleExit = false;
public static bool isJumpPressed = false;
public static bool isPickupPressed = false;


public static InputReader Instance;
private void Awake()
{
    Instance = this;      
}

void OnEnable()
{
    if(controls == null)
    {
        controls = new PlayerControls();

        controls.PlayerInput.SetCallbacks(this);
        controls.VehicleInput.SetCallbacks(this);
    }
    controls.PlayerInput.Enable();
}

void OnDisable()
{
    controls.VehicleInput.Disable();
}

public void OnVehicleEnable()
{
    controls.PlayerInput.Disable();
    controls.VehicleInput.Enable();
}

public void OnVehicleDisable()
{
    controls.PlayerInput.Enable();
    controls.VehicleInput.Disable();
}

public void OnJump(InputAction.CallbackContext context)
{
isJumpPressed = context.ReadValueAsButton();

    if (context.performed)
   
        JumpEvent?.Invoke();
}

public void OnMove(InputAction.CallbackContext context)
{
    if (context.performed)
    {
        MoveEvent?.Invoke(context.ReadValue<Vector2>());
    }
}

public void OnToggleEnter(InputAction.CallbackContext context)
{
    istoggleEnter = context.ReadValueAsButton();

    if (context.performed)

        ToggleEnter?.Invoke();

        Debug.Log(istoggleEnter);

        OnVehicleEnable();
}

public void OnToggleExit(InputAction.CallbackContext context)
{
    istoggleExit = context.ReadValueAsButton();

    if (context.performed)

        ToggleExit?.Invoke();

    Debug.Log(istoggleExit);

    OnVehicleDisable();
}

public void OnPickup(InputAction.CallbackContext context)
{
    {
        isPickupPressed = context.ReadValueAsButton();

        if (context.performed)
        {
            PickupEvent?.Invoke();

        }
    }
}

}

//InteractInput Manage Script

public class InteractInput : MonoBehaviour
{
private InputReader reader;

public static bool activeVehicle = false;
public static bool isExit = false;

private void Awake()
{
   
}
private void OnEnable()
{
    reader.ToggleEnter += ToggleEnterPress;
    reader.ToggleExit += ToggleExitPress;
}

private void OnDisable()
{
    reader.ToggleEnter -= ToggleEnterPress;
    reader.ToggleExit -= ToggleExitPress;
}
public void ToggleEnterPress()
{
    if (InputReader.istoggleEnter)
    {

        Debug.Log("Enter");
    }
}
public void ToggleExitPress()
{
    if (InputReader.istoggleExit)
    {

        Debug.Log("Exit");
    }
}

}

Hello! This is a standard answer.

Null Reference errors occurs when there is some variable with value null when code tries to read it. You need to learn to find your problem by your own. First, check your error code, it says the line where the problem is. Second, You need to debug the code while running, and check the states of the variables of the line at the moment the error occurs,

I’m sure you will detect what variable value is NULL. Then investigate why.

Look for some tutorials on how to debug code while running on your scripting software if don’t know what I’m talking about.

Bye & good Luck!