Search Unity

Official Input System 1.4.4 released

Discussion in 'Input System' started by James-McGill, Nov 8, 2022.

  1. James-McGill

    James-McGill

    Unity Technologies

    Joined:
    Feb 16, 2022
    Posts:
    2
    Hello Input System users!

    A patch release for the Input System (1.4.4) has been published.

    This contains several bug fixes including making the new shortcut behaviour, introduced in v1.4, an opt-in setting (available from the project settings). This has now been switched off by default as it would create unexpected behaviour (actions not being triggered) for projects containing multiple actions that shared the same controls. We know many of you have been affected by this and we thank you for your patience.

    The full CHANGELOG is available here

    Thanks,
    Input Team
     
  2. Jasozz

    Jasozz

    Joined:
    Oct 15, 2014
    Posts:
    13
    Thanks for the update! This version does seem to work fine with WASD controls out of the box.

    Out of curiosity, the whole reason I was updating to 1.4.0 was for the functionality of mouse wheel up/down being available as a rebindable control, and if memory serves, that was indeed working in 1.4.0. However it's absent from 1.4.4 - the Interactive Rebinding process does not recognize mouse wheel as an input, and it's not available as a Button input when building Input Action Maps either.

    Is this function planned to return?

    For a use-case, I'm developing a shooter, and want the option for previous/next weapon to be able to be bound to either a button OR scroll up/down, so players have the option to move this off of the scroll wheel if they want, or to put other game actions on the mouse wheel, such as their two preferred weapons on up/down.
     
  3. James-McGill

    James-McGill

    Unity Technologies

    Joined:
    Feb 16, 2022
    Posts:
    2
    Hi,

    I'm not aware of any recent mouse wheel changes. Looking at the changelog the only Mouse Scroll related item I could find was the addition of the DeltaControl for v1.4.1 (the first published v1.4 release). Is that what you mean? If so, that functionality should still work today as far as we are aware.

    I did a quick check in v1.4.1 and I wasn't able to bind Mouse Scroll to a Button control there either. I don't believe it should have been possible but perhaps I'm doing something differently.

    If you believe you have found a functional regression since v1.4.1 then we'd love to get a bug report via the in-built bug reporter tool as we are not aware of any removed functionality there.
     
  4. Jasozz

    Jasozz

    Joined:
    Oct 15, 2014
    Posts:
    13
    Ah you're correct, I was mistaken.

    This post below is what I was remembering:
    https://forum.unity.com/threads/is-...eel-on-new-input-system.1100518/#post-8009153

    This basically just reiterates the DeltaControl addition but I had misinterpreted this as the mouse wheel being rebindable as a button.

    Is there a process then for allowing an Input Action to have either a button press or a scroll wheel direction bound to it?

    A use-case being: assume there is a scrollable weapon selection wheel, and by default, you can use mouse-wheel up/down to scroll between them, but some players want to rebind "next weapon" to "]" or "Mouse4/Forward". Is that possible, to your knowledge? There would be a single Input Action called "Next Weapon" that could be bound interchangeably between scroll wheel up/down and a button press.
     
  5. ElevenGame

    ElevenGame

    Joined:
    Jun 13, 2016
    Posts:
    146
    Hello,
    I think i have encountered a bug with Input System 1.4.4. In 2022.2.b14 the InputSystemUIInputModule can be added like normal on an Event System, but shows up as a component that's missing the script title, as if it would not compile. (No compilation errors though) When trying to serialize the Event System inside a Prefab, the InputSystemUIInputModule is removed and shows up as a missing script afterwards with all the repercussions like not being able to save the prefab. Going back to 1.4.3. fixes that issue for me. Maybe it is something weird on my side like old assemblies in the library folder, but since I don't think so, I wanted to mention it here.
     
  6. Krooq

    Krooq

    Joined:
    Jan 30, 2013
    Posts:
    196
    Upgrading from 1.4.3 to 1.4.4 broke my .inputactions asset, had to revert to 1.4.3.
    @ElevenGame I think its actually the same bug as you as I had the same issue with the input module.
     
  7. noio

    noio

    Joined:
    Dec 17, 2013
    Posts:
    232
    I just wanted to chime in that — while it broke some things — the shortcut feature itself is amazing. Having out of the box support for modifier keys is great!

    It just needs a way to deal with 'overlapping' actions a little better, because I think everybody has pretty much come to rely on the fact that all actions with the same binding will fire. At least for myself: I've never really started diligently enabling/disabling action maps (e.g. for gameplay vs UI)
     
  8. ut110

    ut110

    Joined:
    May 31, 2018
    Posts:
    8
    With older versions of the input system, if you use Mouse.current.wasUpdatedThisFrame it would only return true when the mouse was moved or clicked. Ever since about version 1.3 it is just always true period. I would think this is a bug, but not sure. I don't know of a better way to check for any kind of mouse usage.
     
  9. gg_michael

    gg_michael

    Joined:
    Sep 24, 2012
    Posts:
    73
    This update has broken my input actions assets. They show as if they have a missing script. Need to revert to have a functioning project.

    EDIT: Yes I literally cannot create new action assets either. I create one from the menu and it immediately reverts to a blank page icon + missing script
     
    Last edited: Nov 21, 2022
    Egad_McDad likes this.
  10. gg_michael

    gg_michael

    Joined:
    Sep 24, 2012
    Posts:
    73
    After nuking my library I can now see action assets, but I get this error spammed in the console:

    InputActionImporterEditor.OnInspectorGUI must call ApplyRevertGUI to avoid unexpected behaviour.
     
    Egad_McDad likes this.
  11. RunninglVlan

    RunninglVlan

    Joined:
    Nov 6, 2018
    Posts:
    182
    Hi, I asked in another thread, but no one answered my question yet, so I'll repeat it here.
    I understand the idea behind not triggering B when Shift+B is clicked, but why do you skip my 1D Axis binding when it has keys that are also present in my 2D Vector binding? =(
    I have a case when I need both actions active - I just programmatically ignore AD from Move action and use AD from Rotate action.
    Please explain how can this be achieved with new shortcut behavior enabled.

    Unfortunately, now I also need support for new shortcut behavior (previously I could just not use new shortcut behavior and this issue would be fixed), but because of this I can't have best of both worlds =(
     
    Last edited: Nov 22, 2022
    kotbrain likes this.
  12. Maximon9

    Maximon9

    Joined:
    May 26, 2022
    Posts:
    8
    Am I like the only one who cannot update to 1.4.4, I can't only go up to 1.4.2. I have no clue if this is normal or not. I used to have a full list of different versions, but now I only have 2 versions. I just want to know what that's about.

    Don't worry about me, I managed to get 1.4.4 in the end. Just skip over this message.
     
    Last edited: Nov 23, 2022
  13. RunninglVlan

    RunninglVlan

    Joined:
    Nov 6, 2018
    Posts:
    182
    If someone is interested, we fixed it by just removing Rotate action and using Move.x for this behavior.
     
  14. ashtorak

    ashtorak

    Joined:
    Feb 19, 2014
    Posts:
    53
    In my case, it worked after deleting the library files. Did you get it working in the mean time as well?
     
  15. AnsonFeng

    AnsonFeng

    Joined:
    Dec 7, 2022
    Posts:
    1
    I am a Chinese developer, nice to meet you. I have a question. Now Android phones can use gesture operations to return. After binding Keyboard[Esc], the return key of the Android phone will be triggered. Using this gesture operation to return has a certain probability that only triggers Started and Performed. Next It is possible that this process will not be triggered many times in a row, or it may only trigger Canceled. If the program retreats to the background and then returns, Canceled will be triggered. As long as Canceled is triggered, Started will be triggered next time, but Canceled may not be triggered. This has caused me a lot of trouble, please help me to check it, thank you.
     
  16. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    5,060
    Unifikation and rdjadu like this.
  17. xXApOXx

    xXApOXx

    Joined:
    Feb 9, 2015
    Posts:
    76
    Is the support for keyboard shortcuts and mutually exclusive use of modifiers planed for gamepad as well? :)
     
  18. rdjadu

    rdjadu

    Joined:
    May 9, 2022
    Posts:
    116
    It's agnostic to the type of device being used. Pretty much any control that gives a useful magnitude can be used as a modifier.
     
  19. Unifikation

    Unifikation

    Joined:
    Jan 4, 2023
    Posts:
    1,087
    DevDunk likes this.
  20. gadlsh12081208

    gadlsh12081208

    Joined:
    Nov 5, 2018
    Posts:
    2
    It seems version 1.5.0 is released, but not provided in package manager even if I enable preview option.
    Is there any estimated release date available?
     
  21. MousePods

    MousePods

    Joined:
    Jul 19, 2012
    Posts:
    811
    Just edit your package manifest to update to 1.5.0
     
  22. xXApOXx

    xXApOXx

    Joined:
    Feb 9, 2015
    Posts:
    76
    Hi,

    Is there a way to access "overrideModifiersNeedToBePressedFirst" from a OneModifierComposition through code from a binding in an action at runtime?
     
  23. xXApOXx

    xXApOXx

    Joined:
    Feb 9, 2015
    Posts:
    76
    I tested the feature by linking an action to ButtonEast and another to the ButtonEast with a ButtonWest modifier. Both are trigger while pressing ButtonWest and then ButtonEast.
     
  24. andrew_oc

    andrew_oc

    Unity Technologies

    Joined:
    Apr 16, 2021
    Posts:
    77
    Have you enabled 'Improved Shortcut Support' in Input System Settings? The default behaviour since 1.4.4 is to trigger all actions and make event consumption (the technique behind proper shortcut support) opt-in.
     
  25. xXApOXx

    xXApOXx

    Joined:
    Feb 9, 2015
    Posts:
    76
    Yes I have enabled input consumption in the improved shorcut support section in the input system package settings in project settings.
     
  26. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    5,060