-
-
Notifications
You must be signed in to change notification settings - Fork 101
Description
Describe the project you are working on:
I work on a lot of plugins.
Describe the problem or limitation you are having in your project:
The terms addon
and plugin
are terms that are often used interchangeably in the community (with good reason, since so many addons include plugins). However, not all addons are plugins. There are a couple places still where wires get crossed.
- The ability to toggle plugins on and off has long sufficed. However, now that we have script classes as an exposed API that does not rely on plugins. People can install addons, but may want to be able to toggle an addon's script classes on/off without the addon itself having a plugin. The ProjectSettings' Plugins tab only allows you to toggle plugins though.
- Problem was encountered in the now-reverted Fix plugin script classes defined even if inactive. godot#32434
- The defining configuration file that specifies that an addon exists is called
plugin.cfg
, notaddon.cfg
. This invites confusion to users who may be under the impression that the EditorPlugin is a necessary part of their addon. - the PluginCreateDialog is specialized exclusively for creating plugins, but it should really support addons in general and keep plugins optional. Users should be able to easily create toggleable subsystems for their projects with the ability to redistribute them independently if desired (and without the expectation that it will be a plugin).
Describe how this feature / enhancement will help you overcome this problem or limitation:
- Minimizes user confusion.
- Improves the flexibility of the addon/plugin system to account for the currently global presence of script classes.
- Remove clutter / improve the flexibility of the addon creation process (as distinct from the plugin creation process).
Show a mock up screenshots/video or a flow diagram explaining how your proposal will work:
Describe implementation detail for your proposal (in code), if possible:
I would just add a setting in PluginCreateDialog that allows users to leave the plugin script path empty (so that it doesn't generate one) and then update the Plugin tab to be the Addon tab instead and specifically flag whether an addon has a plugin (with all of them being toggleable).
If this enhancement will not be used often, can it be worked around with a few lines of script?:
It is an editor change and a breaking API change for the addon system. So no.
Is there a reason why this should be core and not an add-on in the asset library?:
See above.