In almost every case you are better off using the native Input System of your engine. The Steam Input interface was created at a time when controller support was questionable at best. It offered a universal means to map controller inputs that did not depend on the game. In modern engines, input systems have advanced and now offer great support for mapping controllers and keyboard and mouse, and that is usually your better option.
PS: No, you do not require Steam Input API support to ship Steam Deck support; you only require full controller support.
Steam Input allows you to define “actions” for your game, which can be mapped and bound by the Steam client (outside your game), enabling any controller the player may have to work.
In practice, Steam Input is very much like Unity’s “new” Input System and 3rd party Unity assets such as Rewired. Steam Input is not a requirement to publish your game on Steam or to achieve Steam Deck verification.
Steam Input cannot be used for Keyboard and Mouse bindings in as it was designed specifically for use with controllers that are being mapped by the Steam client.
- Valve’s Documentation
https://partner.steamgames.com/doc/features/steam_controller - In-Game Action File Documentation
https://partner.steamgames.com/doc/features/steam_controller/iga_file
