Player input is critical to every game. Keep It Simple! The new Input System needs help with usability. The Keep Input Simple System (KISS) shortens development while providing advanced game controls.Unity's InputSystem package will be required for the plugin to be available in your project.Keep Input Simple System (KISS)Let's face it.You're going to find that while the new Unity Input System certainly seems to be aimed at every edge case a developer might encounter, it comes at the expense of the most common use cases and at a cost of time and attention that something as critical as player input should not demand. By contrast, you will find that working with KISS in the Unity scene speeds up development, gives you flexibility and upgrades your game's player input capabilities, just like we all want for our players.One simple Component in your scene lets you configure your game's input easily, and your code can take that input in a variety of ways; from the very easy "Please just let me make a public variable and KISS fill it in with what I want", to the more detailed ways, such as static events, callbacks or referencing data from the KISS component.The real power of KISS comes from configuring Controls, Combos and the resulting Actions; where KISS reads device input from Keyboard, Mouse or Gamepad and pre-processes the signals for you.Suddenly, your player input reads like real game input: Controls with rules before actuation like hold for 0.5s or trigger >75% or both, Combos with just two steps like a classic heavy attack (hold down for a time, but release within a time window or it fails) or several steps like (yes) ↑ ↑ ↓ ↓ ← → ← → B A Start. You get Actions as a result, which can translate into data you reference, raw data your code gets pushed from KISS, or events you can use.KISS works with you any way you want to work. So, let's briefly describe how you'd start out.You could simply make a new Game Object in your scene and throw on the KISS component. The tool is designed for a high level of usability, with logical and consistent property naming, tooltips on every field and robust dynamic validation in-editor. That is to say, as you're working with KISS and configuring it for your game's input, the tool is responding with real-time updates to your configuration to ensure it runs well at runtime.Another Quick Start move is to open up the Plugins folder for KISS and find /Scenes/KISScene. There, you'll see a demonstration of the KISS Component as one tool providing player input data to another tool using a custom script. Take a look at the custom script there called ToolNeedsInput. The C# code in that custom script is loaded with demonstrations on a variety of ways to get player input data. The comments throughout that custom script tell you what's going on in detail.The provided KISS Reference Manual does begin with a comprehensive overview of KISS.KISS comes with the additional classes KISSystem and KISSData; all well documented for clarity and usability, so if you really wanted your code to work directly with KISS, we got you. Please do refer to the KISS Reference Manual for detailed help on every class, property, method, event and more; laid out for you like an API.Side Note: This system does expect you want an input solution and you write your own code as well. While it handles a lot for you as a tool you just configure, KISS makes no assumptions about what you want to do with that player input. However, for a _no-code_ solution of player input and much more, please go check out The Adventure Toolkit. :)Have fun!The .dll plugin provides the main KISS component easily from the component menu, and requires only that the default InputSystem be installed and enabled.The KISS class for the component is accompanied by the KISSystem and KISSData classes, for more advanced use and integration with your code.You can use KISS in flexible ways to get the player input you need. The variety of ways are detailed in both the KISS Reference Manual and the example scene.Quick start: open the example KISScene.


