protected override void OnSaveSettings(TData data, bool force)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            CustomSettingsUtility.CheckAndCreateDirectory(FilePath);

            string text = JsonUtility.ToJson(data, true);

            File.WriteAllText(FilePath, text);
        }
        protected override void OnSaveSettings(TData data, bool force)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            if (Exists())
            {
                EditorUtility.SetDirty(data);
            }
            else
            {
                CustomSettingsUtility.CheckAndCreateDirectory(AssetPath);

                AssetDatabase.CreateAsset(data, AssetPath);
                AssetDatabase.ImportAsset(AssetPath);
            }

            if (force)
            {
                AssetDatabase.SaveAssets();
            }
        }