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.