PluginToolset.PluginToolset¶
Tools for creating, editing, enabling, and querying Unreal plugins
17 tool(s).
PluginToolset.PluginToolset.AddPluginDependency¶
Adds a dependency entry to a plugin's Plugins array in its .uplugin file. No-ops if a dependency with that name already exists with matching settings. The dependency plugin does not need to be currently discovered.
Input schema
{
"properties": {
"bEnabled": {
"description": "Whether the dependency should be enabled.",
"type": "boolean"
},
"bOptional": {
"description": "Whether the dependency is optional.",
"type": "boolean"
},
"dependencyName": {
"description": "The name of the plugin to add as a dependency.",
"type": "string"
},
"pluginName": {
"description": "The name of the plugin to modify.",
"type": "string"
}
},
"required": [
"pluginName",
"dependencyName",
"bOptional",
"bEnabled"
],
"type": "object"
}
PluginToolset.PluginToolset.CreatePlugin¶
Creates a new plugin from a template and loads it into the editor. Use GetPluginTemplateDescriptions to obtain a valid TemplateInfo.
Input schema
{
"properties": {
"bPlaceInEngine": {
"description": "Use Engine Plugins directory rather than Game Plugins directory location. Only some Templates allow placing in Engine. See the TemplateInfo's bCanBePlacedInEngine. This should be false unless explicitly requested by the user.",
"type": "boolean"
},
"description": {
"description": "A description for the new plugin.",
"type": "string"
},
"pluginName": {
"description": "Name for the new plugin.",
"type": "string"
},
"relativePluginLocation": {
"description": "Parent directory for the new plugin relative to template's default location. This should be empty unless you wish to specify a subdirectory.",
"type": "string"
},
"templateInfo": {
"description": "The plugin template to create from.",
"properties": {
"bCanBePlacedInEngine": {
"description": "Whether or not this template can be used for Engine plugins",
"type": "boolean"
},
"defaultTemplateName": {
"description": "Default plugin name. Typically a prefix.",
"type": "string"
},
"description": {
"description": "Description of this template in the GUI",
"type": "string"
},
"name": {
"description": "Name of this template in the GUI",
"type": "string"
},
"onDiskPath": {
"description": "Path to the directory containing template files.",
"type": "string"
}
},
"required": [
"name",
"description",
"onDiskPath",
"defaultTemplateName",
"bCanBePlacedInEngine"
],
"title": "PluginTemplateDescriptionToolsetInfo",
"type": "object"
}
},
"required": [
"pluginName",
"relativePluginLocation",
"bPlaceInEngine",
"templateInfo",
"description"
],
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "Created plugin's descriptor filename. Empty on failure.",
"type": "string"
}
},
"required": [
"returnValue"
],
"type": "object"
}
PluginToolset.PluginToolset.GetPluginDependencies¶
Returns the dependency entries from a plugin's Plugins array in its .uplugin file.
Input schema
{
"properties": {
"pluginName": {
"description": "The name of the plugin.",
"type": "string"
}
},
"required": [
"pluginName"
],
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "Array of dependency entries declared in the plugin's .uplugin file.",
"items": {
"properties": {
"bEnabled": {
"description": "Whether the dependency should be enabled.",
"type": "boolean"
},
"bOptional": {
"description": "Whether the dependency is optional.",
"type": "boolean"
},
"name": {
"description": "Name of the dependency plugin.",
"type": "string"
}
},
"required": [
"name",
"bOptional",
"bEnabled"
],
"title": "PluginDependencyToolsetInfo",
"type": "object"
},
"type": "array"
}
},
"required": [
"returnValue"
],
"type": "object"
}
PluginToolset.PluginToolset.GetPluginDependents¶
Returns the names of all discovered plugins that declare a dependency on the given plugin.
Input schema
{
"properties": {
"pluginName": {
"description": "The name of the plugin to search for as a dependency target.",
"type": "string"
}
},
"required": [
"pluginName"
],
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "Sorted array of plugin names that list the given plugin in their Plugins array.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"returnValue"
],
"type": "object"
}
PluginToolset.PluginToolset.GetPluginDescriptor¶
Gets the editable descriptor fields for a discovered plugin.
Input schema
{
"properties": {
"pluginName": {
"description": "The name of the plugin.",
"type": "string"
}
},
"required": [
"pluginName"
],
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "The plugin's current editable descriptor fields.",
"properties": {
"bCanContainContent": {
"description": "Can this plugin contain content?",
"type": "boolean"
},
"bIsBetaVersion": {
"description": "Marks the plugin as beta in the UI.",
"type": "boolean"
},
"bIsExperimentalVersion": {
"description": "Marks the plugin as experimental in the UI.",
"type": "boolean"
},
"bIsSealed": {
"description": "Prevents other plugins from depending on this plugin.",
"type": "boolean"
},
"category": {
"description": "The name of the category this plugin belongs to.",
"type": "string"
},
"createdBy": {
"description": "The company or individual who created this plugin. This is an optional field that may be displayed in the user interface.",
"type": "string"
},
"createdByURL": {
"description": "Hyperlink URL string for the company or individual who created this plugin. This is optional.",
"type": "string"
},
"description": {
"description": "Description of the plugin.",
"type": "string"
},
"docsURL": {
"description": "Documentation URL string.",
"type": "string"
},
"friendlyName": {
"description": "Friendly name of the plugin.",
"type": "string"
},
"marketplaceURL": {
"description": "Marketplace URL for this plugin. This URL will be embedded into projects that enable this plugin, so we can redirect to the marketplace if a user doesn't have it installed.",
"type": "string"
},
"supportURL": {
"description": "Support URL/email for this plugin.",
"type": "string"
},
"version": {
"description": "Version number for the plugin. The version number must increase with every version of the plugin, so that the\nsystem can determine whether one version of a plugin is newer than another, or to enforce other requirements.\nThis version number is not displayed in front-facing UI. Use the VersionName for that.",
"type": "integer"
},
"versionName": {
"description": "Name of the version for this plugin. This is the front-facing part of the version number. It doesn't need to\nmatch the version number numerically, but should be updated when the version number is increased accordingly.",
"type": "string"
}
},
"required": [
"friendlyName",
"description",
"category",
"versionName",
"version",
"createdBy",
"createdByURL",
"docsURL",
"marketplaceURL",
"supportURL",
"bCanContainContent",
"bIsBetaVersion",
"bIsExperimentalVersion",
"bIsSealed"
],
"title": "PluginDescriptorToolsetInfo",
"type": "object"
}
},
"required": [
"returnValue"
],
"type": "object"
}
PluginToolset.PluginToolset.GetPluginForAsset¶
Returns the name of the enabled plugin whose content mount point contains the given asset path. Accepts full asset paths or mount point prefixes (e.g. /PluginName/ or /Game/Path/To/Asset).
Input schema
{
"properties": {
"assetPath": {
"description": "The asset or mount point path to look up.",
"type": "string"
}
},
"required": [
"assetPath"
],
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "The name of the plugin that owns the asset.",
"type": "string"
}
},
"required": [
"returnValue"
],
"type": "object"
}
PluginToolset.PluginToolset.GetPluginInfo¶
Gets metadata for a discovered plugin, including description, version, base directory, content directory, descriptor path, and mounted asset path.
Input schema
{
"properties": {
"pluginName": {
"description": "The name of the plugin.",
"type": "string"
}
},
"required": [
"pluginName"
],
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "Metadata for the plugin.",
"properties": {
"baseDir": {
"type": "string"
},
"contentDir": {
"type": "string"
},
"description": {
"type": "string"
},
"descriptorPath": {
"type": "string"
},
"mountedAssetPath": {
"type": "string"
},
"version": {
"type": "integer"
},
"versionName": {
"type": "string"
}
},
"required": [
"description",
"version",
"versionName",
"baseDir",
"contentDir",
"descriptorPath",
"mountedAssetPath"
],
"title": "PluginToolsetInfo",
"type": "object"
}
},
"required": [
"returnValue"
],
"type": "object"
}
PluginToolset.PluginToolset.GetPluginTemplateDescriptions¶
Returns the list of available plugin templates. Pass one of the results to CreatePlugin to create a new plugin from that template.
Input schema
{
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "Array of available plugin template descriptors.",
"items": {
"properties": {
"bCanBePlacedInEngine": {
"description": "Whether or not this template can be used for Engine plugins",
"type": "boolean"
},
"defaultTemplateName": {
"description": "Default plugin name. Typically a prefix.",
"type": "string"
},
"description": {
"description": "Description of this template in the GUI",
"type": "string"
},
"name": {
"description": "Name of this template in the GUI",
"type": "string"
},
"onDiskPath": {
"description": "Path to the directory containing template files.",
"type": "string"
}
},
"required": [
"name",
"description",
"onDiskPath",
"defaultTemplateName",
"bCanBePlacedInEngine"
],
"title": "PluginTemplateDescriptionToolsetInfo",
"type": "object"
},
"type": "array"
}
},
"required": [
"returnValue"
],
"type": "object"
}
PluginToolset.PluginToolset.IsEnabled¶
Checks whether a discovered plugin is currently enabled.
Input schema
{
"properties": {
"pluginName": {
"description": "The name of the plugin.",
"type": "string"
}
},
"required": [
"pluginName"
],
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "True if the plugin is enabled, false if it is disabled.",
"type": "boolean"
}
},
"required": [
"returnValue"
],
"type": "object"
}
PluginToolset.PluginToolset.IsPluginCreationAllowed¶
Checks whether the editor settings permit plugin creation from the plugin browser.
Input schema
{
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "True if plugin creation is allowed, false if it is disabled in Editor Settings.",
"type": "boolean"
}
},
"required": [
"returnValue"
],
"type": "object"
}
PluginToolset.PluginToolset.IsPluginModificationAllowed¶
Checks whether the editor settings permit modifying plugins from the plugin browser.
Input schema
{
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "True if plugin modification is allowed, false if it is disabled in Editor Settings.",
"type": "boolean"
}
},
"required": [
"returnValue"
],
"type": "object"
}
PluginToolset.PluginToolset.ListDiscoveredPlugins¶
Lists the names of all discovered plugins (enabled and disabled), sorted alphabetically.
Input schema
{
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "Sorted array of discovered plugin names.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"returnValue"
],
"type": "object"
}
PluginToolset.PluginToolset.ListEnabledPlugins¶
Lists the names of all enabled plugins, sorted alphabetically.
Input schema
{
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "Sorted array of enabled plugin names.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"returnValue"
],
"type": "object"
}
PluginToolset.PluginToolset.RemovePluginDependency¶
Removes a dependency entry from a plugin's Plugins array in its .uplugin file.
Input schema
{
"properties": {
"dependencyName": {
"description": "The name of the dependency to remove.",
"type": "string"
},
"pluginName": {
"description": "The name of the plugin to modify.",
"type": "string"
}
},
"required": [
"pluginName",
"dependencyName"
],
"type": "object"
}
PluginToolset.PluginToolset.SetPluginEnabled¶
Enables or disables a plugin in the project config. The change takes effect on the next editor restart.
Input schema
{
"properties": {
"bEnabled": {
"description": "True to enable, false to disable.",
"type": "boolean"
},
"pluginName": {
"description": "The name of the plugin.",
"type": "string"
}
},
"required": [
"pluginName",
"bEnabled"
],
"type": "object"
}
PluginToolset.PluginToolset.UpdatePluginDescriptor¶
Updates a plugin's descriptor fields and writes them to its .uplugin file. Checks out the file via source control if source control is enabled. No-ops if the serialized descriptor is unchanged (file is not touched).
Input schema
{
"properties": {
"newDescriptor": {
"description": "The new descriptor field values to apply.",
"properties": {
"bCanContainContent": {
"description": "Can this plugin contain content?",
"type": "boolean"
},
"bIsBetaVersion": {
"description": "Marks the plugin as beta in the UI.",
"type": "boolean"
},
"bIsExperimentalVersion": {
"description": "Marks the plugin as experimental in the UI.",
"type": "boolean"
},
"bIsSealed": {
"description": "Prevents other plugins from depending on this plugin.",
"type": "boolean"
},
"category": {
"description": "The name of the category this plugin belongs to.",
"type": "string"
},
"createdBy": {
"description": "The company or individual who created this plugin. This is an optional field that may be displayed in the user interface.",
"type": "string"
},
"createdByURL": {
"description": "Hyperlink URL string for the company or individual who created this plugin. This is optional.",
"type": "string"
},
"description": {
"description": "Description of the plugin.",
"type": "string"
},
"docsURL": {
"description": "Documentation URL string.",
"type": "string"
},
"friendlyName": {
"description": "Friendly name of the plugin.",
"type": "string"
},
"marketplaceURL": {
"description": "Marketplace URL for this plugin. This URL will be embedded into projects that enable this plugin, so we can redirect to the marketplace if a user doesn't have it installed.",
"type": "string"
},
"supportURL": {
"description": "Support URL/email for this plugin.",
"type": "string"
},
"version": {
"description": "Version number for the plugin. The version number must increase with every version of the plugin, so that the\nsystem can determine whether one version of a plugin is newer than another, or to enforce other requirements.\nThis version number is not displayed in front-facing UI. Use the VersionName for that.",
"type": "integer"
},
"versionName": {
"description": "Name of the version for this plugin. This is the front-facing part of the version number. It doesn't need to\nmatch the version number numerically, but should be updated when the version number is increased accordingly.",
"type": "string"
}
},
"required": [
"friendlyName",
"description",
"category",
"versionName",
"version",
"createdBy",
"createdByURL",
"docsURL",
"marketplaceURL",
"supportURL",
"bCanContainContent",
"bIsBetaVersion",
"bIsExperimentalVersion",
"bIsSealed"
],
"title": "PluginDescriptorToolsetInfo",
"type": "object"
},
"pluginName": {
"description": "The name of the plugin to update.",
"type": "string"
}
},
"required": [
"pluginName",
"newDescriptor"
],
"type": "object"
}
PluginToolset.PluginToolset.ValidateNewPluginNameAndLocation¶
Validates that PluginName and RelativePluginLocation are acceptable for a new plugin.
Input schema
{
"properties": {
"bPlaceInEngine": {
"description": "Use Engine Plugins directory rather than Game Plugins directory location. Only some Templates allow placing in Engine. See the TemplateInfo's bCanBePlacedInEngine. This should be false unless explicitly requested by the user.",
"type": "boolean"
},
"pluginName": {
"description": "The proposed plugin name.",
"type": "string"
},
"relativePluginLocation": {
"description": "Parent directory for the new plugin relative to template's default location. This should be empty unless you wish to specify a subdirectory.",
"type": "string"
},
"templateInfo": {
"description": "The plugin template to potentially create from.",
"properties": {
"bCanBePlacedInEngine": {
"description": "Whether or not this template can be used for Engine plugins",
"type": "boolean"
},
"defaultTemplateName": {
"description": "Default plugin name. Typically a prefix.",
"type": "string"
},
"description": {
"description": "Description of this template in the GUI",
"type": "string"
},
"name": {
"description": "Name of this template in the GUI",
"type": "string"
},
"onDiskPath": {
"description": "Path to the directory containing template files.",
"type": "string"
}
},
"required": [
"name",
"description",
"onDiskPath",
"defaultTemplateName",
"bCanBePlacedInEngine"
],
"title": "PluginTemplateDescriptionToolsetInfo",
"type": "object"
}
},
"required": [
"pluginName",
"relativePluginLocation",
"bPlaceInEngine",
"templateInfo"
],
"type": "object"
}
Output schema
{
"properties": {
"returnValue": {
"description": "True if the name and location are valid.",
"type": "boolean"
}
},
"required": [
"returnValue"
],
"type": "object"
}