[go: up one dir, main page]

Skip to content

Add-on Guidelines

To prepare your add-on for submission as an extension to Blenders official repository, add-ons must:

  • Respect Blender's "Allow Online Access":
    Not making connections to the internet when bpy.app.online_access is False.
  • Not Interfere with Other Add-ons:
    Making changes to other add-ons is forbidden (installing/updating/removing etc).
    If the extension depends on another, an error can be shown when accessing functionality that requires the other extension.
  • Be Self Contained:
    Add-ons must not install Python modules, PIP packages, Python-wheels etc.
    If some additional software required that cannot be bundled, this can be run by the user.
  • Bundle Modules:
    Add-ons must only load modules into the packages name-space (typically as sub-modules).
    Manipulating Blender's module loading such as changing the module search path or inserting modules directly into the global module dictionary is forbidden as this makes global changes outside the add-ons name-space.
    Extensions may include 3rd party module as python-wheels.
  • Support "System" (read-only) installation:
    Add-ons must not write files in their own directories since "System" repositories may be used on read-only file-systems.
    Use bpy.utils.extension_path_user(__package__, create=True) to create a local directory extensions may use to store user local files.

Hint

While these are requirements for extensions.blender.org, we recommend following them for add-ons hosted elsewhere because they help ensure add-ons work in a verity of configurations.

See also