Pairing Multiple SteamVR Controllers

SteamVR and the HTC Vive at first appear to only support two wireless controllers. You can plug more controllers in over USB, but there is no apparent process for pairing more controllers over a wireless connection.

This is because there is a little bit of a conceit going on with the two existing controllers. The HTC Vive head-mounted display is not just a display. It also has an entire USB hub inside of it (including a spare USB port, if you have any devices of your own you would like to connect!). Soldered directly into that USB hub are two standard Steam Controller wireless dongles, reflashed with a firmware specific to the Vive controllers. When you pair a controller "with the headset", you're really just pairing to those USB wireless dongles that just so happen to be inside the headset.

This means that, if we have a process to reflash your own Steam Controller dongles, we can connect more than two Vive controllers in a wireless configuration.

The process is a little convoluted, because the SteamVR UI only expects to be able to pair two controllers at a time. But you can trick it into complying by removing all hardware, adding two dongles at a time, pairing controllers, and repeating until you have all controllers paired with all dongles. Once the pairing song and dance is complete, you can reconnect all dongles at once and suddenly SteamVR recognizes more than two controllers.

Here we go.

Reflash Steam Controller Dongles to be SteamVR Dongles.

This can be done all at once, and it will only update devices that need to be updated. However, just to be safe, make sure the headset and link box are completely disconnected before you do this.

  1. Locate your Steam installation directory (it's usually C:\Program Files (x86)\Steam).
  2. Locate your SteamVR directory (it should be <Steam Install Directory>\steamapps\common\SteamVR)
  3. Add the Lighthouse tools directory to your System Path
    1. It should be <SteamVR Directory>\tools\lighthouse\bin\win32)
    2. Open the Start Menu and type "Path". Select "Edit the system environment variables"
    3. Click the "Environment Variables…" button
    4. In the "System Variables" list, select "Path"
    5. Click "Edit"
    6. Click "New"
    7. Copy and paste the Lighthouse tools directory into the text box.
    8. OK out of all of the dialog boxes.
  4. Completely disconnect the Vive link box from the PC.
  5. Plug in all Steam Controller dongles that need to be reflashed.
  6. (Optional) Use scotch tape and a pen to label the dongle "VR" so later we know it has been reflashed already.
  7. Open Windows PowerShell (open the Start Menu and type "PowerShell". Hit Enter.)
  8. Navigate to <SteamVR Directory>\tools\lighthouse\firmware\vr_controller>. As of this writing, the latest version is 10.27.2016
  9. Run the reflash command:
    • lighthouse_watchman_update -D watchman_dongle.bin
    • Note that the switch is an uppercase D, not a lowercase d. Some other documents online have listed it as a lowercase d, but that is incorrect.
    • takes about 30 seconds to get through a single dongle. The tool will iterate through all dongles connected to the system and reflash any that are an older version than the version being flashed.

Pair All of the Controllers

This is the tricky part. SteamVR only displays two unpaired controllers at a time, and if there are two controllers connected to the system, it will not show any more pair-able controller slots. So you have to trick it by pairing two controllers at a time, removing those controller dongles, adding two more, and continuing with the pairing process.

  1. Remove all SteamVR hardware from the system.
  2. Start SteamVR
  3. Add two SteamVR dongles (the ones now labeled "VR" with masking tape).
  4. Right-click one of the grey controller icons in SteamVR and select "Pair Controller".
  5. Follow the on-screen instructions for pairing.
  6. Click "pair another controller" and finish the pairing for the second controller.
  7. If more controllers need to be paired:
    1. Remove the two SteamVR dongles
    2. return to step #3 above.

Once all controllers have been paired, you can plug in all of the dongles, turn the controllers on, and SteamVR should now populate more controller icons for any controllers past 2.

We don't know what game support is like, but at least in the SteamVR System View, you should see all of the controllers appear and be independently usable.