Adds a "Plugin Directories" button to the Plugin Browser, which spawns a nomad tab containing a struct details view that lists configured directories, and optionally (config-driven) allows them to be modified and handles updates to the relevant managers.
Also includes some smaller supporting changes to make the Plugin Browser usable in LiveLink Hub.
Related changes to plugin manager:
- Adds an EPluginExternalSource enum, and extends IPluginManager's "external path" representation from FString to a tagged struct indicating the source of each path.
- Adds `void IPluginManager::GetExternalPluginSources(TSet<FExternalPluginPath>& OutPluginSources)` as an alternative/successor to `const TSet<FString>& GetAdditionalPluginSearchPaths()`.
- Adds `IPluginManager::RemovePluginSearchPath()` counterpart to existing `AddPluginSearchPath()`.
Other changes:
- Adds `[EditorSettings] bCanModifyProjectPluginDirectoriesFromBrowser` config bool. If not explicitly set, effectively defaults to the value of `bCanModifyPluginsFromBrowser`.
- Adds `[EditorSettings] bCanModifyUserPluginDirectoriesFromBrowser` config bool. Disabled and hidden by default, 'User' plugin directories are intended as an application-specific mechanism to expose `IPluginManager::AddPluginSearchPath` without requiring a writable uproject descriptor.
- Adds `[EditorSettings] HidePluginCategoriesFromBrowser` config string list to exclude named categories from SPluginCategoryTree (unused by default, will be used for LiveLink Hub).
- Adds `[EditorSettings] bCanCreatePluginsFromBrowser` config bool to disable the plugin creator / "Add Plugin" button.
#jira UE-216220
#rb jason.walter, will.brown
[CL 35747847 by zach brockway in ue5-main branch]
#jira UE-217816
#rb brooke.hubert, ryan.mangin
#tests manually created plugins with each template except game feature
[CL 34316182 by charlie huguenard in ue5-main branch]
Adding new core function for what should be replaced. Default behavior is to use the PluginName
[REVIEW] [at]Aidan.McDu
[CL 30539709 by eric knapik in ue5-main branch]
Showing the asset discovery dialog and preventing the plugin creation until the asset discovery is complete.
#rb Rex.Hill
#preflight 645008286538e45f75c38ccb
[CL 25292941 by will brown in ue5-main branch]