private static EZScriptableObjectSettings CreateInstance()
        {
#if UNITY_EDITOR
            EZScriptableObjectSettings newSettings =
                CreateInstance <EZScriptableObjectSettings>();

            if (!UnityEditor.AssetDatabase.IsValidFolder("Assets/Resources"))
            {
                UnityEditor.AssetDatabase.CreateFolder("Assets", "Resources");
            }

            UnityEditor.AssetDatabase.CreateAsset(newSettings, "Assets/Resources/EZScriptableObjectSettings.asset");
            UnityEditor.AssetDatabase.SaveAssets();

            UnityEditor.Selection.activeObject = newSettings;

            Debug.LogWarning(
                "No EZ_ScriptableObject_Settings asset found! Creating new one, ensure it's locatable by Resources",
                newSettings);

            return(newSettings);
#else
            throw new System.NullReferenceException();
#endif
        }
        private static EZScriptableObjectSettings GetInstance()
        {
            EZScriptableObjectSettings instance =
                Resources.Load <EZScriptableObjectSettings>("EZ_ScriptableObject_Settings");

            if (instance == null)
            {
                return(CreateInstance());
            }

            return(instance);
        }