internal void Awake()
        {
            Instance = this;

            SL.OnPacksLoaded += Setup;

            CustomKeybindings.AddAction(MenuKey, KeybindingsCategory.CustomKeybindings);
        }
        internal void Awake()
        {
            Instance = this;

            SL.OnPacksLoaded += Setup;

            CustomKeybindings.AddAction(MenuKey, CustomKeybindings.KeybindingsCategory.Menus, CustomKeybindings.ControlType.Both, 5, CustomKeybindings.InputActionType.Button);
        }
        internal void Update()
        {
            if (!Instance.InitDone)
            {
                return;
            }

            // show/hide main menu button
            if (MenuManager.Instance.IsInMainMenuScene)
            {
                if (!m_MenuButton.gameObject.activeSelf)
                {
                    m_MenuButton.gameObject.SetActive(true);
                }
            }
            else
            {
                if (m_MenuButton.gameObject.activeSelf)
                {
                    m_MenuButton.gameObject.SetActive(false);
                }
            }

            if (CustomKeybindings.GetKeyDown(MenuKey))
            {
                ToggleMenu();
            }

            // Update current config's displayed values (currently only really used for Float slider value)
            if (m_currentModConfig != null && m_currentModConfig.m_linkedPanel.activeSelf)
            {
                foreach (var setting in m_currentModConfig.Settings)
                {
                    setting.UpdateValue(true); // true = no save
                }
            }
        }