[Resolved] Solution for press and release callbacks on a single input action

Brace yourself, it’s gonna get awkward, yet it works perfectly well and get things done for a very little workaround.

void YourCallback(InputAction.CallbackContext ctx){
  if (ctx.started)
  {
     //Do something on press
  }
  else if(ctx.canceled || ctx.performed)
  {
     // do something on release
  }
}

action.started += YourCallback;
action.canceled += YourCallback;

So now, unless your player is holding the interaction for 1000000000000000000000000000000 seconds, you’re fine.

Also if you need a “Held” interaction you should be able to add a callback on “ctx.waiting”

Hope it helps somebody. We’re using it for a while and we didn’t found any bug.