Overview
IExposedPlugin represents an installed plugin as exposed to other plugins. It provides read-only access to plugin metadata, state information, and UI operations. This interface is used when accessing the list of installed plugins through IDalamudPluginInterface.InstalledPlugins.
Interface Definition
Properties
Basic Information
Gets the display name of the plugin.This is the user-friendly name shown in the plugin installer and plugin list.
Gets the internal name of the plugin.This is the unique identifier used internally by Dalamud to identify the plugin.
Gets the version of the plugin.This represents the current installed version of the plugin.
Gets the plugin manifest containing metadata.The manifest contains additional metadata such as description, author, and other plugin information.
State Flags
Gets whether the plugin is currently loaded.A plugin can be installed but not loaded if it’s disabled or encountered an error.
Gets whether this plugin’s API level is out of date.Outdated plugins may not function correctly with the current version of Dalamud.
Gets whether the plugin is marked for testing use only.Testing plugins are pre-release versions that users can opt into.
Gets whether this plugin is orphaned (belongs to a repository that still exists, but the plugin is no longer maintained).
Gets whether this plugin is decommissioned (repository still exists, but plugin no longer does).Decommissioned plugins are no longer available for installation but may still be installed on some systems.
Gets whether this plugin has been banned.Banned plugins have been blocked from loading due to policy violations or security concerns.
Gets whether this is a development plugin.Development plugins are loaded from local directories rather than the plugin repository.
Gets whether this plugin was installed from a third-party repository.Third-party plugins come from custom repositories rather than the official Dalamud repository.
UI Capabilities
Gets whether the plugin has a main UI window.If
true, the plugin provides a main UI that can be opened via OpenMainUi().Gets whether the plugin has a configuration UI window.If
true, the plugin provides a configuration UI that can be opened via OpenConfigUi().Methods
Opens the main UI of the plugin.Throws:
InvalidOperationException if HasMainUi is falseAlways check HasMainUi before calling this method.Opens the configuration UI of the plugin.Throws:
InvalidOperationException if HasConfigUi is falseAlways check HasConfigUi before calling this method.Usage Examples
Listing All Installed Plugins
Finding a Specific Plugin
Opening Another Plugin’s UI
Checking Plugin States
Monitoring Plugin Changes
Best Practices
- Always check
HasMainUiorHasConfigUibefore calling the respectiveOpen*Ui()methods - Check
IsLoadedbefore attempting to interact with a plugin’s UI - Handle the
InvalidOperationExceptionthat may be thrown by UI methods - Use the
ActivePluginsChangedevent to stay updated on plugin state changes - Cache plugin lookups if you need to reference the same plugin multiple times
Related Types
- IDalamudPluginInterface - Provides access to
InstalledPluginsproperty - IActivePluginsChangedEventArgs - Event arguments for plugin list changes