// NOTE: This is called during Awake() when nothing of the asset editing
        //       structure has been initialized yet.
        protected override void ResetValues()
        {
            base.ResetValues();
            m_AssetIsDirty = false;

            // ResetValues() also gets called from the apply logic at a time
            // when the asset editor isn't set up yet.
            var assetObject = (InputActionAsset)assetTarget;

            if (assetObject != null)
            {
                if (m_Backup != null)
                {
                    assetObject.LoadFromJson(m_Backup);
                }

                var editor = InputActionAssetEditor.FindFor(assetObject);
                if (editor != null)
                {
                    editor.Reload();
                }
            }
        }
 protected InputActionAssetEditor GetAssetEditor()
 {
     return(InputActionAssetEditor.FindFor(GetAsset()));
 }