Attribute used to register a new SettingsProvider. Use this attribute to decorate a function that returns an instance of a SettingsProvider. If the function returns null, no SettingsProvider appears in the Settings window.
using System.IO; using System.Linq; using UnityEditor;
class MyCustomSettingsProvider : SettingsProvider { const string k_MyCustomSettingsPath = "Resources/MyCustomSettings.asset"; public MyCustomSettingsProvider(string path, SettingsScope scope) : base(path, scope) {}
public static bool IsSettingsAvailable() { return File.Exists(k_MyCustomSettingsPath); }
[SettingsProvider] public static SettingsProvider CreateMyCustomSettingsProvider() { if (IsSettingsAvailable()) { return new MyCustomSettingsProvider("MyCustomSettings", SettingsScope.Project); }
// Settings Asset doesn't exist yet. No need to display anything in the Settings window. return null; } }
SettingsProviderAttribute | Creates a new SettingsProviderAttribute used to register new SettingsProvider. |