[go: up one dir, main page]

Steamworks Documentation
Steam Frame Controllers
The Steam Frame Controllers have the same capabilities as your standard console gaming controllers plus touch states, grip buttons, capacitive finger tracking, and 6-DOF spatial tracking. This gives you many more options on how to let players interact with your titles. It also allows users to play non-VR content on the headset without a separate device.

steamframe-controllers.png

VR Compatibility

While you will always get a better user experience by tailoring your title to the Frame Controllers specifically, our controller compatibility modes have become quite robust. SteamVR will always use a Frame Controller binding by default but in the case one is not available it will first look for a OpenXR Generic Controller binding, then an Oculus Touch binding, and remap those to the Frame Controller layout.
  • The menu button on Oculus Touch will map to the View button at the top of the Steam Frame Controller.
  • The top button of the Oculus Touch controllers (B / Y) will map to all three top buttons of the Steam Frame Controllers (Dpad Left, Dpad Up, Dpad Right / X, Y, B).

Non-VR Compatibility

When playing Non-VR titles locally or via streaming the Frame Controllers take full advantage of Steam Input. Depending on the game and the configured bindings it will show up as a generic gamepad or keyboard/mouse.

OpenXR Interaction Profile

You'll find an OpenXR Interaction Profile included in each Game Engine plugin (or in the case of Godot in the engine itself). If you have your own custom engine you can add support via our extension detailed on the Custom Engines documentation page.

OpenVR Bindings

You can bind to the Steam Frame Controllers like you would any other OpenVR controller type. Its controller_type is "frame_controller". They support finger tracking via the Skeletal Input API and all of the controls listed above. You can create bindings for it in the SteamVR Binding UI.