Project-Wide Actions - 1.8.0-pre.2 release - Feedback wanted - new update released

I can’t imagine this solution being in any way easier than just saying:

if (Keyboard.current[Key.A].wasPressedThisFrame)
{
    // do stuff
}

I haven’t checked the official tutorials in a long time but looking for the first tutorial on the input system shows it taking the most verbose route so there’s the problem. It’s not that it can’t be done easily but that no one knows how to make a tutorial that gets straight to the point using the easiest approach.

https://learn.unity.com/project/using-the-input-system-in-unity

The documentation isn’t much better. For a quick start guide it’s not a very quick start even with the new defaults which incidentally could have just been dumped into a folder in the project similar to how a new project includes a “sample” scene.

https://docs.unity3d.com/Packages/com.unity.inputsystem@1.8/manual/QuickStartGuide.html

The direct workflow section is a close second but it loses to my example as it doesn’t show that you can pass an enum or a string which has lead people to believe (I know because I’ve responded to the posts) that it’s at best a hacky solution that can’t scale beyond that.

Said section even tries to incorrectly pass it off in the manner:

You can in fact change your input bindings if you choose to use enums and strings. You just have to take the same approach many of us took for years with the old input system (though it’s now easier as you no longer have to set up every axis and button possible in an archaic input manager).

https://docs.unity3d.com/Packages/com.unity.inputsystem@1.8/manual/Workflow-Direct.html

Fun final fact: it took me months to become comfortable with the new input system and it’s almost entirely the fault of the documentation, the tutorials, and the sample code. Ultimately I had to piece together what I knew from third parties and experimentation which should not have been necessary.

2 Likes