Search Unity

How to customize controller in SteamVR (new Input System)?

Discussion in 'VR' started by ricarious, Mar 2, 2019.

  1. ricarious

    ricarious

    Joined:
    Nov 1, 2017
    Posts:
    21
    The new SteamVR Input System looks great and makes perfect sense (hw abstraction, action sets, bindings).

    However, after reading everything I can find, I am still confused on the best way to create a custom Controller model.

    [FWIW I am building an app that customizes the Left Controller to have a menu system on the wrist and the Right Controller is an editing tool (changes depending on menu state). So, I want to create custom controller models for BOTH controllers.]

    My best guess is:

    a) if using the simpler Camera Rig (from Simple Scene), you use the Model Override field of the SteamVR_RenderModel. However, this bothers me because the doc sez "Model Override - Generally for testing purposes you can specify what model you would like to display instead of dynamically assessing the type of device connected."

    b) However, if using the Hand class (from Interaction System), you must use a script to change via Hand.SetRenderModel (since Hand does not have a field for the Controller prefab). Note that this RenderModel class has two models, one for hand and one for controller.

    I know this is a fairly basic task since I see it in a lot of apps, but I have found nothing on how to do this with the new Input System in SteamVR.