Download

Enhanced Input Limitations and Bugs

So, I came across two problema with the new input system.

1 - When trying to create a new input mapping by code, the function to add inputs does not take in the modifiers or triggers, and the struct that comes out is not a ref, just a copy, so altering that after does nothing. So, creating a nre input, unless it’s very simple, becomes impossible.

2 - The second one is a bit more weird. If I try to disable an input mapping after an input is pressed, it seams like the system reboots and never stop calling the input. To be more clear:
I have an “Aim” input, and when it starts disables jumping (No reason, just testing the system), and it calls a print string Aim. When I realease the jump is added back in and a print NoAim is called.
The problem is that if the remove mapping context is called after the input, in started for example, the started it’s called on like on tick, Printinf the “Aim” multiple times and when release, the “NoAim” it’s never called. The screenshots will help to understand. Both Aim and Jump inputs are simple inputs with no triggers or modifiers.
Without the remove, the code flows as expected.


AimBugPrintString

I’m doing something wrong it those cases?
If not I will report bugs.

Thanks for your time.

I’ve encountered what is probably the same issue. I was adding then removing a mapping based on an input being triggered then completed. It seems the state of the input gets lost with the add mapping call. If they need to reset input states when mappings change, then the mappings are less than ideal. Every use case I can think of using them for could involve other input occurring at the time that we’d want to continue on with. Even switching from an “InGame” mapping to a “UI” mapping when you go to the pause screen could be problematic.