Skip to content

Instantly share code, notes, and snippets.

@Jummit
Last active April 27, 2023 12:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Jummit/3b2e8f62d8424f2249b970ef15d74133 to your computer and use it in GitHub Desktop.
Save Jummit/3b2e8f62d8424f2249b970ef15d74133 to your computer and use it in GitHub Desktop.
Jummit's Godot Addon Guideline

Jummit's Godot Addon Guideline

This document outlines a vision for my addons. It's meant to make addons that are easy to use, maintain and extend.

Readme

Addons should have a readme file containing:

  • a short description
  • a screenshot
  • and a short tutorial

Godot Version

Addons should ideally be available for all Godot LTS versions, so Godot 3 and Godot 4. This is not necessary though.

Documentation

All public scripts should be fully documented with descriptions, examples and common mistakes.

Codebase

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.

Installing

Addons should provide a quick way to download a zip file containing the addon which can be put into the addons folder.

Licensing

Addons should have a license, preferably a permissive one like MIT, MPL or GPL.

Assets should be put under a creative commons license.

Changelog

Addons should keep a changelog with all changes, with migration paths for breaking changes.

Reference Addons

These addons come close to this standard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment