private void FixedUpdate() { RaycastHit hit; Vector3 dir = transform.forward; if (Physics.Raycast(this.transform.position, dir, out hit, LayerMask.NameToLayer("UI"))) { //Generate Laser Beam laserLine.SetPosition(1, Vector3.forward * hit.distance); //Generate Laser EndPoint //if (laserEndPt == null) laserEndPt = Instantiate(laserShadowFX); //laserEndPt.SetActive(true); //laserEndPt.transform.position = hit.point; //Trigger Action If applicable TabletButton btn = hit.transform.gameObject.GetComponent <TabletButton>(); Debug.Log(hit.transform.gameObject.name); if (btn) { btn.ButtonOn(); fish_mem_btn = btn; } else if (fish_mem_btn) { fish_mem_btn.ButtonOff(); fish_mem_btn = null; } if (btn && pressed) { btn.ButtonAction(); fish_mem_btn = null; } } //else if (laserEndPt) //{ // laserEndPt.SetActive(false); //} }