The new input system seems horribly broken now...

Using Unity 2020.2.2f1 with InputSystem 1.0.2 and nothing works.

  1. Add “Player Input” component to an empty object.
  2. Click on “Create Actions…” and a file is created.
  3. Select the created file and click on the “Edit asset” button in the inspector.
  4. Control schemes window comes up - trying to add bindings and the only thing that comes up reads “” and it is not editable or anything. In the output window there are errors:

NotImplementedException: The method or operation is not implemented.
UnityEngine.InputSystem.Utilities.PrimitiveValue.FromString (System.String value) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Utilities/PrimitiveValue.cs:407)
UnityEngine.InputSystem.Utilities.NamedValue.ParseParameter (System.String parameterString, System.Int32& index) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Utilities/NamedValue.cs:157)
UnityEngine.InputSystem.Utilities.NamedValue.ParseMultiple (System.String parameterString) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Utilities/NamedValue.cs:98)
UnityEngine.InputSystem.Layouts.InputControlLayout+Builder+ControlBuilder.WithParameters (System.String parameters) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Controls/InputControlLayout.cs:684)
UnityEngine.InputSystem.HID.HID+HIDLayoutBuilder.Build () (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Plugins/HID/HID.cs:382)
UnityEngine.InputSystem.HID.HID+<>c__DisplayClass12_0.b__0 () (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Plugins/HID/HID.cs:192)
UnityEngine.InputSystem.Layouts.InputControlLayout+Collection.TryLoadLayoutInternal (UnityEngine.InputSystem.Utilities.InternedString name) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Controls/InputControlLayout.cs:1836)
UnityEngine.InputSystem.Layouts.InputControlLayout+Collection.TryLoadLayout (UnityEngine.InputSystem.Utilities.InternedString name, System.Collections.Generic.Dictionary2[TKey,TValue] table) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Controls/InputControlLayout.cs:1851) UnityEngine.InputSystem.Layouts.InputControlLayout+Cache.FindOrLoadLayout (System.String name, System.Boolean throwIfNotFound) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Controls/InputControlLayout.cs:2113) UnityEngine.InputSystem.Editor.EditorInputControlLayoutCache.Refresh () (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/EditorInputControlLayoutCache.cs:250) UnityEngine.InputSystem.Editor.EditorInputControlLayoutCache.TryGetLayout (System.String layoutName) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/EditorInputControlLayoutCache.cs:82) UnityEngine.InputSystem.Editor.EditorInputControlLayoutCache.GetValueType (System.String layoutName) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/EditorInputControlLayoutCache.cs:92) UnityEngine.InputSystem.Editor.Lists.NameAndParameterListView..ctor (UnityEditor.SerializedProperty property, System.Action applyAction, System.String expectedControlLayout, UnityEngine.InputSystem.Utilities.TypeTable listOptions, System.Func2[T,TResult] getValueType, System.String itemName) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/NameAndParameterListView.cs:34)
UnityEngine.InputSystem.Editor.Lists.ProcessorsListView…ctor (UnityEditor.SerializedProperty property, System.Action applyAction, System.String expectedControlLayout) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/NameAndParameterListView.cs:213)
UnityEngine.InputSystem.Editor.PropertiesViewBase.UpdateProcessors (System.String expectedControlLayout) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/PropertiesViewBase.cs:33)
UnityEngine.InputSystem.Editor.PropertiesViewBase…ctor (System.String label, UnityEditor.SerializedProperty bindingOrAction, System.Action1[T] onChange, System.String expectedControlLayout) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/PropertiesViewBase.cs:25) UnityEngine.InputSystem.Editor.InputBindingPropertiesView..ctor (UnityEditor.SerializedProperty bindingProperty, System.Action1[T] onChange, UnityEngine.InputSystem.Editor.InputControlPickerState controlPickerState, System.String expectedControlLayout, UnityEngine.InputSystem.Utilities.ReadOnlyArray1[TValue] controlSchemes, System.Collections.Generic.IEnumerable1[T] controlPathsToMatch) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/InputBindingPropertiesView.cs:33)
UnityEngine.InputSystem.Editor.InputActionEditorWindow.LoadPropertiesForSelection () (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/InputActionEditorWindow.cs:521)
UnityEngine.InputSystem.Editor.InputActionEditorWindow.OnActionTreeSelectionChanged () (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/InputActionEditorWindow.cs:471)
UnityEngine.InputSystem.Editor.InputActionTreeView.SelectionChanged (System.Collections.Generic.IList1[T] selectedIds) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/InputActionTreeView.cs:363) UnityEditor.IMGUI.Controls.TreeViewController.NotifyListenersThatSelectionChanged () (at <433cbae83977409887e43d50043210d2>:0) UnityEditor.IMGUI.Controls.TreeView.SetSelection (System.Collections.Generic.IList1[T] selectedIDs, UnityEditor.IMGUI.Controls.TreeViewSelectionOptions options) (at <433cbae83977409887e43d50043210d2>:0)
UnityEngine.InputSystem.Editor.InputActionTreeView.SelectItem (UnityEngine.InputSystem.Editor.ActionTreeItemBase item, System.Boolean additive) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/InputActionTreeView.cs:300)
UnityEngine.InputSystem.Editor.InputActionTreeView.SelectItemAndBeginRename (UnityEditor.SerializedProperty property) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/InputActionTreeView.cs:1065)
UnityEngine.InputSystem.Editor.InputActionTreeView.OnNewItemAdded (UnityEditor.SerializedProperty property) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/InputActionTreeView.cs:1051)
UnityEngine.InputSystem.Editor.InputActionTreeView.AddNewBinding (UnityEditor.SerializedProperty actionProperty, UnityEditor.SerializedProperty actionMapProperty) (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/InputActionTreeView.cs:1028)
UnityEngine.InputSystem.Editor.InputActionTreeView+<>c__DisplayClass67_0.b__0 () (at Library/PackageCache/com.unity.inputsystem@1.0.2/InputSystem/Editor/AssetEditor/InputActionTreeView.cs:920)
UnityEditor.GenericMenu.CatchMenu (System.Object userData, System.String[ ] options, System.Int32 selected) (at <433cbae83977409887e43d50043210d2>:0)

It works for me perfectly. Just updated to 1.0.2 Input System and followed your steps. So your error must come from somewhere else. Have you tried to restart the editor?

Your stack trace pointing in the Editor UI anyways. Have you updated UI Tookit / UI Builder anything like that recently? Maybe the problem lies near there?

1 Like

This is on a brand new HDRP project. I have no other packages installed into this new project except for the new input system. Here are some more detailed steps:

  1. Start a brand spanking new HDRP project.
  2. Create a new “Basic outdoors HDRP” scene and delete the sample scene.
  3. Delete all assets except for the Scene and HDRPDefaultResources and Settings folders.
  4. Go to Edit > Project Settings
  5. Go to Player and switch API to 4.x
  6. Save everything
  7. Switch Player active input handling to use Input System Package (New) - Unity will restart
  8. Go to Window > Package Manager
  9. Install the Input System 1.0.2 package
  10. Already I get one error message:
    Could not create a device for ‘Shaul Eizikovich vJoy - Virtual Joystick (HID)’ (exception: System.NotImplementedException: The method or operation is not implemented.
  11. Create an empty object in the scene
  12. Add the Player Input component to it.
  13. Click on the “Create Actions…” button.
  14. Click on Save
  15. Another error comes up:
    NullReferenceException: SerializedObject of SerializedProperty has been Disposed.
  16. Normally I think the new input action asset should be assigned to the player input component but it is not.
  17. Manually assign the new input action asset to the player input component
  18. Click on the input action asset in the asset folder
  19. In the inspector click on “Edit asset”
    Error comes up - NotImplementedException: The method or operation is not implemented.
  20. Click on “Edit asset” again.
  21. This time a window comes up.
  22. Nothing works here - add binding, etc… all broken.

I’ve even gone as far as uninstalling everything Unity, even going into appdata, deleting remants of Unity in the program files folder, and deleting all Unity-related folders from Local, LocalLow, and Roaming, and restarted my machine. Then I installed latest Unity Hub, and then from there I installed Unity 2020.2.2f1 and then followed my new detailed steps. The new input system is completely broken. :frowning:

OK! I figured it out…

If you have the vJoy device driver installed on your system then the new Unity input system completely breaks. I uninstalled it, and now the new input system is working. Unity needs to be able to handle the error condition it is encountering with vJoy without breaking.

5 Likes

mherbold, you hit the spot. I have vJoy installed in my system. After uninstalling it, everything works!