Not able to map a simple button press on the HTC vive controllers

Currently have a setup working with keys and joystick (xbox) controller. I assumed that the buttons on the vive controllers would just have equivalent mappings and just work. However non of the buttons seem to do anything.

So I would like to mute the audio when pressing the trigger on the wand.
I appreciate folks might not want to just write my code so even if you could just point me on the right path I would be grateful.

My code so far that works on a joystick:

using UnityEngine;
using System.Collections;

public class NT_Mute : MonoBehaviour {
AudioSource audio;

	void Start() {
			audio = GetComponent<AudioSource>();

	void Update() {
			//if (Input.GetKeyDown(KeyCode.M))
			if (Input.GetButtonDown("Jump"))
			if (audio.mute)
					audio.mute = false;
					audio.mute = true;



On the Vive Controller, there are its own mappings. I’d recommend downloading VRTK. It’s a free asset, and allows you to do a lot of things. Once down, drag the [VRTK] prefab into your scene. That’ll come with two children (amongst other things): left and right controller. There’s a script called “VRTK Controller Events” there. You can subscribe to the events for each button from that script.

Something like:

VRTK_ControllerEvents controllerEvents = GetComponent<VRTK_ControllerEvents>();
controllerEvents.TriggerPressed+= ControllerEvents_TriggerPressed;

    private void ControllerEvents_TriggerPressed(object sender, ControllerInteractionEventArgs e)
        audio.mute = !audio.mute;