What is an effective way to build cross-compatibility into Vive / Touch design?

I’ve been in the process of building Touch compatibility into a VR product i’m working on, and i’ve run into issues with the controls on the physical controllers for motion control. ( i haven’t tested on PSVR yet, so i don’t know how their’s is set up, but it may also play into this question). Is there a way to switch on platform from an input side? for example I would like Axis ‘Turn’ command to use Motion Controller X on the Touch, but use Action Motion Controller Button 4 for Vive.

Any advice in the matter is appreciated, as the use of Axis X and Y have very different ergonomic implications in the physical design of the respective platform’s motion controllers.

For anyone else that comes across this, the solution i’m using so far is to create inputs for both platforms on the different conflicting buttons, but in each case, use a platform switch to null any input from the un-desired platform. So for example MoveForward could have a motion controller thumbstick x axis value, however that value would hit a dead end when blueprint logic runs through the platform switch check if the current platform is a vive.

Not sure if you can somehow detect which controller is being used. But you can program button and axis presses in blueprints rather than just the Input Settings. Perhaps you can copy/paste your player to have a Vive and Touch version where your buttons are mapped accordingly. Either you can ask the player to define which controller they have to spawn the correct player, or detect it automatically somehow.