Sinput Update
Posted: August 20, 2021 Filed under: Patreon Leave a comment »So for the past month-and-a-half I’ve been working on nothing but my new input system: Sinput. It was supposed to take a couple of weeks, but in the end I spent three times that on it… even though I think it cost me a few patrons in the meantime, I think it was worth it!
Sinput is going to greatly improve how quickly and easily I can get input working for my games – a thing that normally takes a loooong time.
And if I’m honest, setting up good input systems has been such a daunting task that for some projects, avoiding it has been what killed them.
But more than just making things easier for me, over time I’ve found myself caring more and more about making sure games are as accessible as possible. I feel this is somewhere Unity’s input system fails in a very big way, and Unity developers have no easy way of getting around that – it requires quite a large time investment to make games with more accessible control options, but it shouldn’t.
With better input systems, game developers could quickly set up their games’ input to allow as many people as possible be able to play their games. With Sinput, I’ve done my best to facilitate that.
Any game using Sinput with the included rebinding scene will have controls that can 100% be rebound in the game (and not just Unity’s splash screen that doesn’t work great for many inputs, and often has to be disabled for stores to list the game as ‘controller compatible’, or for developers to avoid getting negative reviews from players who have ignorant opinions about game-engines).
Sinput also includes functionality to make various features much easier to implement, such as axis inversion, toggle controls, sensitivity, and button repeating.
I’ve also made it as easy as possible for developers to support more than just the Keyboard/Mouse/Gamepad inputs that Sinput supports right away. Virtual Inputs mean that anything a Unity script can access can be used as an input. This is how the touch control prefabs included with sinput work, but this should also work for many other things too; for example if you have a custom controller that Unity’s input system doesn’t support, you can make an interface that will work with Sinput and you won’t need to change any of your game code at all.
Because I care a lot about this stuff, a lot of the time working on Sinput up to now has been making documentation, video tutorials (with subtitles), a clear store page, and I’ve made Sinput free.
More accessible games mean more people can play, and this benefits everyone. Hopefully with the work I’ve put into Sinput, more developers will be making more accessible games and people I’ll never know will be able to have a blast playing games I might never hear about. That would be awesome 🙂
Anyway, with this I’m done working on Sinput for a while. I’ll be getting back to work on my own games now!
To patrons who kept supporting me despite my not making any gamedev posts in this time, thank you so much! Your support has made a huge difference for me and I don’t think I’d have been able to dedicate time to something like this if it wasn’t for you. I love and appreciate you so much! <3