-
Notifications
You must be signed in to change notification settings - Fork 29
Unreal Input to SteamVR Input
To ease the use of SteamVR Input this plugin can generate a mapping from your existing Unreal Engine Input Actions/Axis to SteamVR Input actions. These mappings are not always complete or exact and will likely need to be modified after generation through the binding dashboard or manually in the JSONs.
As Unreal doesn't have a concept of a Vector2 action we auto group two Input Axis with names that end with _X and _Y. For example, to create a mapping for MoveLeft you will need a MoveLeft_X and a MoveLeft_Y that you bind to their corresponding controller axis. See the sample inputs for an example. (SteamVR Input Menu - Add Sample Inputs)
To allow you to easily configure what controller buttons map to what actions we've added keys for some of the popular SteamVR compatible controllers. These keys will OVERRIDE any Motion Controller keys you have in the same action. This is to allow your project to maintain compatibility with other VR platforms that have not yet adopted an action system. If you do not have a controller specific mapping in the mapping list for an action it will try to use the Motion Controller mapping.
Since SteamVR Input users can rebind what button maps to what action at runtime the traditional Unreal input path is no longer sufficient. As a temporary measure we've created these keys that are used internally to route SteamVR Input actions back through Unreal's input system. You shouldn't have any need to add or remove them. They should get added to your actions automatically.
Directly accessing key values will no longer work with this plugin. You'll need to make actions and create mappings any time you want a value from a motion controller. This is to ensure that users can always map actions to their preferred buttons.
SteamVR has a concept of groupings of actions called Action Sets. This is not yet implemented into the SteamVR Input Unreal Plugin. Currently everything is in a single action set called "main".