public static class PluginDiscoveryFinding the plugins in a set of folders, and reading what they say about themselves.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
A root holds one plugin per subdirectory, and a subdirectory is a plugin when it has a plugin.yaml in it. Nothing recurses further: a plugin's own lib/, runtimes/ and content folders are its business, and a scan that walked into them would find the manifest of a plugin the plugin itself vendored.
⚠ Roots are searched in order and the first id wins. The editor passes the project's folder before the user's, so a plugin checked into a project overrides the copy the user has installed globally — which is what makes "everybody on this team gets the same tools" true, and it is the same precedence a project-local tool manifest has. The copy that lost is reported rather than dropped silently.
⚠ A root that does not exist is not an error. Most projects have no Plugins/ folder, and an editor that warned about it on every launch would be teaching people to ignore its warnings.
Methods (1)
public static PluginCatalog Scan(params IEnumerable<string> roots)Reads every plugin under a set of roots.
Used by (5)
- DiscoveryTestsVixen.Editor.Plugin.Tests
- EditorApplicationVixen.Editor.App
- LoadingTestsVixen.Editor.Plugin.Tests
- PluginHostVixen.Editor.Plugin
- SwitchingTestsVixen.Editor.Plugin.Tests