// Finds a valid ConsoleSettings instance, or, if none exist, creates one and returns it. private ConsoleSettings GetOrCreateSettings() { var settings = ConsoleSettings.FindSettings(); if (settings == null) { // No settings object was found in project, so let's create one in a specified path settings = ConsoleSettings.CreateSettings(); // Ensure parent directory of asset exists if (!Directory.Exists(kSettingsContainerPath)) { Directory.CreateDirectory(kSettingsContainerPath); } AssetDatabase.CreateAsset(settings, kSettingsPath); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); } return(settings); }