Override an "action", NOT a "binding"

So I know about action.ApplyBindingOverride(): it’s not what I’m looking for.

I want to add an option for look-sensitivity. I thought the best solution was to give my look action a scale processor that the user can change at runtime via a settings menu.

You’ll notice that the processor is on the Look action, not on one of the bindings. This means I can’t use action.ApplyBindingOverride(). I’m frankly stumped by this, I wanted to add more accessibility options in this manner but it’s gonna be hard if I can’t make it, you know, accessible.

I keep user settings like controller sensitivity elsewhere as a variable the user can modify and then multiply the input results by that variable. I think that’s going to be much cleaner than modifying the actions.

The game has a couple of different actors so I would have to change one value on each actor as opposed to one value on one input. From a DRY perspective that seems preferable. It’s not that I can’t, but it does feel hacky when there seems to be such a good solution in place for it.

AFAIK the current official recommendation is having a custom processor which reads the value from your own settings.
( Source )

2 Likes

A 2-year old unsolved issue… classic Unity. Thanks though! At least I can rest easy knowing it isn’t possible.