SteamVR and Unity have both changed in the three years since we initially released our plugin on the Asset Store. For one thing, there are a few more controllers:
With each new controller comes a new headache for developers. Every game needs to be updated to support each new device, and if they aren’t the user experience suffers. This is where SteamVR Input comes in. SteamVR Input abstracts input so that instead of thinking about low level button presses, we can think about user actions. For example, instead of hard-coding „pull the top trigger button down 75% to grab the block“, it can simply be “grab the block”.
The Steam Controller has shown us what a boon this can be not only to players but to development as well. Modern game engines have also found the value in action based input systems. Unreal has been working with actions for a while now, and Unity has a new input system in development that also follows this theme.
Instead of thinking of input as a static button, with SteamVR Input developers define default bindings outside of your application and users can customize from there. It allows new devices to be used with the application with no code changes, easy customization for accessibility, handedness, or just personal preference.
A few months ago we released the first version of this SDK to the public. Today we are happy to release the matching Unity Plugin in the Unity Asset Store. This new plugin builds on top of the SteamVR Input system and gives Unity developers the ability to create actions in the editor, assign them to components, and generate named C# classes based on your actions for ease of access in code.
The new input system uses a different approach from the previous input system, and we’ve updated the SteamVR Unity Interaction System to reflect these changes. We have also added more examples to help get developers into VR faster.
We’ve been working with this system alongside the development of the Knuckles controllers, and it works well with both EV2 and EV3 models. You can check out a more full fledged example of this system in action in the source of the Knuckles Tech Demos – the Moondust project. There’s also a tutorial for using the new SteamVR Unity Plugin, which you can find here.
We still want your feedback moving forward. We recommend that all developers subscribe to the SteamVR Beta branch to make sure their applications work with the newest versions of SteamVR. The new version of the plugin is available now on the Unity Asset Store. The project is also up on Github to make it easier for developers to discuss the source code and inform us of issues.