Is Multi Tap interaction busted?

I’m trying to use the “Multi Tap” interaction on a keyboard “button”. However it is simply not working. Pretty simple, I have an “action” with “action type” set to “Button”, with an interaction added and set to “multi tap” with all of the default values, with a binding on the “V” key. The .performed callback is simply not getting called ever. The .started and .cancelled callback are both getting called but not the performed. I’ve tried mashing the key as many times as I want, as fast and I want, and it does not get called.

I’m thinking there is a bug here perhaps? I’ve seen another forum post or two claiming it was wonky as well.

Version 1.1.0-preview 3 on Unity 2019.4.22f1.

Not at a PC to check, but I believe certain phases are only invoked during certain control types / a bunch of factors including whether you’ve explicitly set whether the value is ‘passthrough’, ‘value’ or ‘any’. For example, button is only started and cancelled, as you’ve found out.

This is really confusing and has caused me lots of anguish hunting bugs when trying to use the same code to handle different input devices agnostically. I’m not sure if there’s section on the docs that says which types do what - much of it seems to insinuate that all phases would be invoked.

Personally, I’d much prefer that every input type had every phase event, though I’m sure there’s a reason for it in the backend (performance?). At the very least, it would be nice for the ActionMap interface to display what phases are invoked when you are seeing those values.

Actually MultiTap should use the started, performed and cancelled states.
https://docs.unity3d.com/Packages/com.unity.inputsystem@1.1/manual/Interactions.html#multitap

I think this is the bug, fix in the review:

Ok thank for the info, appreciated. Perhaps I’ll wait for that fix to go through and see if that solves the problem.