void Update()
    {
        if (trackedObject)
        {
            // disable hands if not tracked.
            model.SetActive(trackedObject.isValid);
            if (trackedObject.isValid)
            {
                // have the net avatars track the steamvr tracked-objects
                transform.position = trackedObject.transform.position;
                transform.rotation = trackedObject.transform.rotation;

                // Send input events to the NetworkedCameraRig instance. (This is our local player)
                var input = SteamVR_Controller.Input((int)trackedObject.index);

                //determines which controller is being interacted with
                bool isLeft = controller.GetComponentInParent <SteamVR_ControllerManager>().left.Equals(controller.gameObject);

                //If any controller is being interated with, enable laser and find if it has hit a player
                if (input.GetPressDown(SteamVR_Controller.ButtonMask.Trigger))
                {
                    player.CmdLaserEnable(isLeft, true);
                    if (isHit())
                    {
                        player.CmdHasBeenHit(getPos());
                    }
                }

                //Turn off laser when trigger is not pressed.
                if (!controller.triggerPressed)
                {
                    player.CmdLaserEnable(isLeft, false);
                }
            }
        }
    }