Binding mask feature are very limited.
The only useful usage is masking by group
.
Masking by action
is nice, but not very useful, because you can enable / disable individual actions outside.
Masking by path
is totally useless, because it does not support wildcards (not even talking about generalization). It does not seem take into account effective path, only original path (which might or might not be what you want).
Lets say I want to disable Mouse for specific ActionMap, how am I supposed to do that?
It seems that I have to create separate scheme for Mouse and disable that…but that breaks Rebinding, which only supports SINGLE group. I’d prefer single scheme for Mouse and Keyboard.
This is not some edge case, this is normal usage of input like in other games (PUBG, Elden Ring)
You open inventory, gameplay mouse input gets disabled, while gameplay keyboard input is still active (you can run around).
At least the masks could support negation (allowing bindings which does not match the mask)
EDIT:
It seems that there’s InputActionMap.devices
, which does what I want.
I have to update that when detected devices change, but at least it seems to work.