ValveSoftware / steamvr_unreal_plugin

SteamVR Input Unreal Plugin - Documentation at: https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki Sample project (UE4.15-4.23): https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki/sample/SteamVRInputPlugin.zip Sample Project (UE.424+): https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki/sample/SteamVRInputPlugin_UEIntegrated.7z

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What approach for left handed people?

badVibes-- opened this issue · comments

Are there any best practices when it comes to adding support for left handed people? Cant seem to come up with a good solution besides naming the actions by their position on the controller, which kind of goes against the whole action thing. Ideally we should be able to provide two maps and be able to switch between them. Do you have any suggestions what would be a good way of approaching this problem? Thank you.

Hi @badVibes-- Unfortunately the engine's input system is built on using "Left" and "Right" controller values so it's a bit difficult to have a solution that'll work well with the normal engine workflow.

As a lefthanded person myself, I do understand the concern, but potentially the best solution at the moment is to publish custom Left Handed Bindings via Steam and have your users opt for those. If you're using the plugin as designed (actions), then it should respect these custom bindings.

@1runeberg Thank you for your fast response. Your suggestion would work but it would not be the best user experience. I have no way of knowing if the change happened during game play. Because of this, it would be a two step process for the user. First change the bindings and then switch the setting in game (its a drawing app and I need to switch the tool position and place icons).
One idea that seems kinda doable is have double actions defined for (left hand mode and right hand mode) the things that would switch hands. That way both modes can be custom mapped and switched from the game (I would simply ignore half of them). I wonder if action sets would be useful in this scenario, will we get support for those?

IMHO this should be handled by Steam VR Input somehow, not just this plugin. Im right handed myself but I feel it's important. Most controllers are not symmetric like Vives. Having support 'built in' would surely encourage developers to implement it and make it much less likely that games would ship without it. Every binding definition should simply have both maps and and some way to switch them from the game.

@badVibes-- you shouldnt need to know the user preference on your app as the runtime and the plugin handles this via actions, regardless of developer's original bindings. this allows a more flexible option for your users past left handed vs right handed (e.g. single handed, personal preference, etc).

if you wish to still provide options to swap to in-game, creating mirrored actions with L/R names will be the only option with hte current UE UI.

Just to be clear - OpenVR does support left vs right hand as well as easy mirroring, these features however are difficult to implement with the current UE input architecture without adding additional load for developers or breaking away from the UE development workflow.

Actionsets can also be used for this purpose as you mentioned, however, again, the current UE UI and input architecture doesnt have a way to express this. We've looked at the possbility of creating our own UI but this adds a cognitive load for xr developers as its not a seamless part of the UE workflow.

Ideally , this should be supported engine-side. Our future efforts are with OpenXR however and so is Epic. Actionsets are featured in OpenXR so imo it'd be something useful for Epic to implement for their developers. I highly encourage developers to voice their opinions on this as well through Epic's official forums.