Valve has announced that SteamVR 1.26 brings better controller support thanks to automatic rebinding, making it easier to play virtual reality games. The update also improves the styling of the binding UI and adds a grab handle to the dashboard so you can more easily position it.
Providing a bit of background, Valve said that SteamVR 1.24 introduced Compatibility Mode that lets you set up a controller binding to mimic one a game is expecting. With the new update, if a game is missing a binding for your controller, SteamVR will automatically create one and configure it to mimic one that's available.
“if a game has bindings for Oculus Touch controllers but you're using Windows Mixed Reality controllers, SteamVR will remap actions using the trigger-style grip of the Oculus Touch to the button style grip of the WMR controller,” said Valve, giving an actual example.
“If a developer does decide to create a native binding for your controller, SteamVR will switch to that as soon as it's available. This feature will work for all titles using OpenXR and SteamVR Input.”
The full release notes for SteamVR 1.26 are as follows:
SteamVR:
- Added automatic rebinding for controllers without native bindings. For SteamVR Input and OpenXR games we will attempt to rebind to a supported controller type.
- A handle has been added to the dashboard, allowing it to be positioned in space. The position is reset whenever it is summoned.
- Dashboard recenter button now recenters both seated and standing universes, instead of just the current universe of the scene application.
- Fixed a bug that caused audio devices with emojis in the name to break the settings UI.
- Fixed a bug that caused low framerates with 3rd party headsets while using AMD graphics cards if hardware was unplugged/replugged after session start.
- Added new tracker roles: Wrist (L/R), Ankle (L/R)
- Added ‘autoremapping’ to the Automatic Rebinding files to simplify component remapping.
- The binding UI's style has been refreshed.
- Display an error when any required actions haven't been bound, instead of failing silently.
- Improved performance of workshop binding loading.
- Fixed "Show Old Binding UI" button not working in controller settings.
OpenXR:
- The recenter button now affects OpenXR applications.
- The XrEventDataReferenceSpaceChangePending event is now sent when the playspace is recentered.
- OpenXR applications that use XR_REFERENCE_SPACE_TYPE_STAGE when calling xrLocateViews will immediately switch to using the same chaperone visiblity rules as OpenVR standing experiences, where the chaperone will appear when the hmd or controllers get close to the origin.
- OpenXR applications that use only XR_REFERENCE_SPACE_TYPE_LOCAL for longer than 3 seconds when calling xrLocateViews will use the same chaperone visibility rules as OpenVR seated experiences, and the chaperone won't display while the user is within a 1m radius of the origin.
- The runtimeVersion instance property is now set to the current SteamVR version.
- Re-enabled instance creation even if there is no active hmd available. This is unrelated to headless mode, and is instead used so that an application can make the appropriate calls to understand that no HMD is currently connected.
- Fixed crash on some Unity games when there is no active hmd available.
- Implemented XR_HTC_vive_wrist_tracker_interaction extension.
- Conformance test fixes (properly check valid but unsupported view config type, correctly recognize negative xrTime input).
Valve said that nothing can replace native support and explicit bindings for controllers but by having a compatibility layer with several default mappings for popular controllers, it can smooth out game releases and lighten the work developers need to do.