This document outlines a vision for my addons. It's meant to make addons that are easy to use, maintain and extend.
Addons should have a readme file containing:
- a short description
- a screenshot
- and a short tutorial
Addons should ideally be available for all Godot LTS versions, so Godot 3 and Godot 4. This is not necessary though.
All public scripts should be fully documented with descriptions, examples and common mistakes.
Addons should be fully typed and all errors and warnings fixed. They should follow the GDScript style guide.
Functions should not be longer than one page.
Addons should have a plugin.cfg
, even if they don't provide editor functionality. This makes them appear in the plugin list in the project settings, where they can be turned on and off.
Addons should provide nodes that can be added with the Add Node
action instead of scenes when possible.
All text visible in the game should be translatable. This can be achieved by using tr
when handling dynamic text.
Addons should strive to implement the provided features as simply as possible, and avoid trying to be as general as possible.
Addons should keep possible extensions in mind and document what to watch out for when implementing them.
Addons should provide a quick way to download a zip file containing the addon which can be put into the addons
folder.
Addons should have a license, preferably a permissive one like MIT, MPL or GPL.
Assets should be put under a creative commons license.
Addons should keep a changelog with all changes, with migration paths for breaking changes.
These addons come close to this standard.