void MagicLeapControllerButtonStateChange(
            MagicLeapController controller, MagicLeapController.Control buttonId, MagicLeapController.ButtonFrameState buttonFrameState)
        {
            if (controller != GetComponent <MagicLeapController>())
            {
                // Catch for multiple controllers
                return;
            }

            switch (buttonId)
            {
            case MagicLeapController.Control.Bumper:
                TextLog("Bumper: " + buttonFrameState);
                break;

            case MagicLeapController.Control.Home:
                TextLog("Home / Menu: " + buttonFrameState);
                break;
            }
        }
        void HandleMagicLeapButton(MagicLeapController controller,
                                   MagicLeapController.Control buttonId,
                                   MagicLeapController.ButtonFrameState buttonFrameState)
        {
            if (!this.enabled)
            {
                return;
            }

            if (controller == GetComponent <MagicLeapController>())
            {
                switch (buttonId)
                {
                case MagicLeapController.Control.Home:
                    if (buttonFrameState == MagicLeapController.ButtonFrameState.ClickedDown)
                    {
                        if (headCanvas != null)
                        {
                            if (headCanvas.activeInHierarchy)
                            {
                                headCanvas.SetActive(false);
                            }
                            else
                            {
                                headCanvas.SetActive(true);

                                Vector3 forward = GlobalAppMonitor.mainCamera.transform.forward;
                                forward.y = 0;
                                headCanvas.transform.position = GlobalAppMonitor.mainCamera.transform.position + forward * 1.7f;
                                headCanvas.transform.forward  = forward;
                            }
                        }
                    }
                    break;

                default:
                    break;
                }
            }
        }