[h1]Update Highlights[/h1] In this update, we're building off our existing controller compatibility features to make more games instantly accessible to more controllers with automatic rebinding. We're also bringing in some updates to the user interface. The binding UI received a styling update, and a grab handle has been added to the dashboard to allow it to be more easily positioned in space. In version 1.24 we introduced Compatibility Mode, which allows players to set up a binding that lets a controller mimic one that the game is expecting. Now, when a game is missing a binding for your controller, SteamVR will automatically create a new binding, configure it based on a more common controller, and set it to simulate that controller type. Controller driver developers can specify a list of different controllers they want to be able to use bindings from, as well as directions on how to remap from one controller to another. For example, 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. If a developer does decide to create a native binding for your controller, SteamVR will switch to that as soon as its available. This feature will work for all titles using OpenXR and SteamVR Input. To kickstart this endeavor we've created a number of default remappings for popular controller types. Driver developers can override these as they see fit. New controllers can also use this feature to get instant compatibility with the majority of the SteamVR catalog with no additional work needed by game developers. While native support and explicit bindings will always give the greatest control, having this compatibility layer will smooth releases and lighten the load on game developers and controller manufacturers alike. Controller driver developers can get more information on creating a rebinding file at [url=https://github.com/ValveSoftware/openvr/blob/master/docs/Driver_API_Documentation.md#automatic-rebinding]this documentation page[/url]. SteamVR’s official OpenXR subforum is [url=https://steamcommunity.com/app/250820/discussions/8/]here[/url] and we’d love to hear your feedback, as well as suggestions for new features. To report a bug, please use our Bug Reports subforum, [url=https://steamcommunity.com/app/250820/discussions/3/]here[/url]. Guidelines for how to provide an effective bug report are pinned at the top of that subforum. [h1]Full Update Notes[/h1] [b]SteamVR:[/b] [list] [*] 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. [/list] [b]OpenXR:[/b] [list] [*] 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). [/list]