private void Update() { if (Input.GetButtonDown(m_ButtonName) || (!m_LastButtonState && Input.GetAxis(m_ButtonName) == 1)) { m_LastButtonState = true; m_RecordingCoroutine = StartCoroutine(recordTracking()); } else if (Input.GetButtonUp(m_ButtonName) || (m_LastButtonState && Input.GetAxis(m_ButtonName) == 0)) { m_LastButtonState = false; StopCoroutine(m_RecordingCoroutine); RecordedGesture = Gesture.CreateInstance<Gesture>(); RecordedGesture.BasePosition = BasePosition; RecordedGesture.BaseRotation = BaseRotation; RecordedGesture.XPosCurve = CurrentXPosRecording; RecordedGesture.YPosCurve = CurrentYPosRecording; RecordedGesture.ZPosCurve = CurrentZPosRecording; RecordedGesture.XRotCurve = CurrentXRotRecording; RecordedGesture.YRotCurve = CurrentYRotRecording; RecordedGesture.ZRotCurve = CurrentZRotRecording; RecordedGesture.WRotCurve = CurrentWRotRecording; handleGesture(); } }