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 whenbpy.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.
Usebpy.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¶
- Blender Manual for
Add-ons
General information about add-on usage.
- Blender Manual for Creating Extensions &
Add-ons
General information about add-on usage.
- Style Guide for Python Code
Recommended coding conventions for submitted Python code