Search Unity

  1. Check out the Unite LA keynote for updates on the Visual Effect Editor, the FPS Sample, ECS, Unity for Film and more! Watch it now!
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  4. Want more efficiency in your development work? Sign up to receive weekly tech and creative know-how from Unity experts.
    Dismiss Notice
  5. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  6. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Input Save Bug With Reproducible Steps And Video.

Discussion in 'New Input System' started by cecilcruxis, Sep 16, 2018.

  1. cecilcruxis

    cecilcruxis

    Joined:
    Sep 17, 2013
    Posts:
    81
    When working with Unity's new input system I found a bug and took a couple hours testing it out to find ways to workaround it and exactly how to reproduce it. This bug effects how action maps are saved in editor and I have a video showing how to reproduce it in a blank project.




    Tested in a new blank project

    Tested on
    Unity 2018.2.6f1
    Unity 2018.3.b1

    Input version 0.0.7

    Do the following to reproduce

    Create a new input actions asset in the project folder
    Open it and add a new action map and name the map whatever
    Hit save
    After this create a new action map, binding or action.
    After you first create it click away.
    Double click on it and try to rename any of the actions, action maps, or bindings and hit enter to confirm.
    When you hit save it won't save and you get the error from the pictures.
    Notice it says NullReferenceException in console.


    Some notes if you right click on the action delete it than create a new one and change the initial
    name while creating the new one you can save now. Also if you hit F2 instead of double clicking to rename the action I found sometimes it doesn't give any error and most of the time seems to work with renaming whiles still allowing saving.

    It looks like it is trying to find the serialized asset in the project folder and since the name is being changed it can't properly reference the asset and causing a null reference making saving not possible. Not sure though. This is something for Unity devs to say. This is the only issue I have found with saving the asset. This is the biggest headache for me and probably others too so hopes this helps.
     
    Rene-Damm likes this.
  2. Rene-Damm

    Rene-Damm

    Unity Technologies

    Joined:
    Sep 15, 2012
    Posts:
    365
    Thank you for the detailed bug report!

    Wanted to take a look at this today but didn't manage. Will take a look tomorrow.
     
  3. Rene-Damm

    Rene-Damm

    Unity Technologies

    Joined:
    Sep 15, 2012
    Posts:
    365
  4. cecilcruxis

    cecilcruxis

    Joined:
    Sep 17, 2013
    Posts:
    81
    Checked the commit out an indeed it seemed to fix the error. Thank you for the quick fix it was the only annoying thing to me at the moment for using the input system.

    Also side note for the new UI I enjoy the fact the Action Map, Actions, and Properties in the action map tab now have their own column. It makes it easier to see the actions and bindings. Basically readability has improved quite a bit in the action map tab.
     
  5. Rene-Damm

    Rene-Damm

    Unity Technologies

    Joined:
    Sep 15, 2012
    Posts:
    365
    Yup agree. The previous single tree view layout quickly became unmanageable.

    We're planning to make an additional change to the layout there by having three panes instead of two. ATM action maps, actions, composite bindings, and normal bindings all go into the single pane with only the properties sitting in their own pane. IMO once you have more than one action map and a good number of actions and bindings, the tree view reverts to being quite hard to navigate. We're thinking of moving action maps to their own separate pane such that actions and bindings get their own exclusive pane.

    (WIP mockup from our UX designer)



    Happy to hear what you think.
     
    recursive likes this.
  6. cecilcruxis

    cecilcruxis

    Joined:
    Sep 17, 2013
    Posts:
    81
    Question I know this thread was for the bug report, but since you showed the UI mockup got a question on the top left part I see Unity default and all devices.

    What is the Unity default part for and in the device slot is that a filter where we can filter what device binding we are looking for? If it is a device filter that would be nice. At the moment when using the search box if I type in keyboard s I sometimes get a jumbled option list that includes OnScreenkeyboard keys because of the s in screen.
     
  7. Rene-Damm

    Rene-Damm

    Unity Technologies

    Joined:
    Sep 15, 2012
    Posts:
    365
    We're currently working on figuring out how to extend actions to cover control schemes. The idea is that as an optional feature, you can go and add control schemes to an .inputactions asset based on those UI elements you see in the mockup. Each control scheme you can associate with one or more devices (each one individually marked as required or optional).

    The schemes then can be used at runtime but also to filter and contextualize in the editor. You could switch schemes to only see their bindings and to only be presented with controls in the picker that are relevant based on the current scheme's device palette.

    Yup, searching definitely needs refinement. Control picker overall does. The idea is that this eventually will become contextual. By being able to select which platforms you're interested in, by being able to set up control schemes, and by being able to say what kind of things you're looking for on the current action (if you're looking for buttons, you shouldn't have to wade through lists of lists of axes and rotations and such).