The Plugin module complements Drupal core's plugin system in several ways. Its main aim is to make it easy to expose your custom plugin types to the world, and to let code work with any plugin of any plugin type generically. To facilitate that, and other features, it provides the following:
- Plugin type discovery through modules'
*.plugin_type.ymlfiles. See the handbook for documentation on these files. - Extensive support for classed plugin definitions (objects), on top of core's
\Drupal\Component\Plugin\Definition\PluginDefinitionInterface. - Plugin selectors allow users to select plugins of a particular type and configure them using the plugins' configuration forms. Using these reduces your form handling code from several hundreds of lines to ~5 lines of code. Some plugin forms do not correctly save their configuration. See #2536646: [meta] PluginFormInterface implementations assume they are top-level.
- Filtered plugin manager decorators to easily filter/limit the plugins a manager can provide. These work with any existing plugin manager, and can be injected into other code easily.
- A plugin field type that allows instances of any known plugin type to be stored on content entities. Plugin selectors are available as widgets. Basic generic formatters are available.
- Overviews of known plugin types and plugins at Administer > Structure > Plugins.
- Plugin configuration schemas. This allows saved plugin configuration to be translated, for instance. Their unified naming schemas allow for easy reusability. See the handbook for documentation on the format.
This project is also an incubator for improvements to Drupal core's plugin system that can be merged into Drupal core in future minor versions.
Integration
The following projects use Plugin and/or expose their plugin types through Plugin:
- Drupal core (through Plugin itself)
- Address
- Currency
- Facets
- Payment
- Search API
This module requires PHP 7 and Drupal 8.7.
Supporting organizations:
Original research and development
Maintenance
Project information
- Project categories: Developer tools, Site structure
1,812 sites report using this module
- By bradjones1 on , updated
Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.
Releases
8.x-2.14
released 12 May 2026
Works with Drupal: ^9.1 || ^10 || ^11
Install:
Development version: 8.x-2.x-dev updated 6 May 2026 at 18:50 UTC



