Original discussion here, with more links/info because this forum prohibits me from adding more links/images.
I’m trying to add extension support for my pre-existing addon, “Mesh Align Plus”. Mesh Align Plus is a full Python package, and the instructions for structuring my zip file do not work. What I want:
- To make my addon an extension, that loads into Blender 4.2 successfully (this is the top priority)
- I would PREFER the zip structure to have my package folder + the toml file from the extensions guide page…
- That structure hasn’t worked
- Neither has including the toml inside the package itself
- Neither has putting the package’s folder contents plus with the toml directly inside the zip file
- Question: Will an extension zip install via the extensions menu AND the addons menu in Blender settings? I want it to work in both places (hopefully the devs have considered this and it just works)
Here’s the error:
Here’s the TOML file:
schema_version = "1.0.0"
# Example of manifest file for a Blender extension
# Change the values according to your extension
id = "mesh_mesh_align_plus"
version = "1.0.0"
name = "Mesh Align Plus"
tagline = "Precisely align, move, and measure+match objects and mesh parts in your 3D scenes."
maintainer = "Eric Gentry <[email protected]>"
# Supported types: "add-on", "theme"
type = "add-on"
# Optional link to documentation, support, source files, etc
# website = "https://extensions.blender.org/add-ons/my-example-package/"
website = "https://github.com/egtwobits/mesh_mesh_align_plus/wiki"
# Optional list defined by Blender and server, see:
# https://docs.blender.org/manual/en/dev/advanced/extensions/tags.html
tags = ["3D View", "Mesh", "Modeling", "Object", "User Interface"]
blender_version_min = "2.8.0"
# # Optional: Blender version that the extension does not support, earlier versions are supported.
# # This can be omitted and defined later on the extensions platform if an issue is found.
# blender_version_max = "5.1.0"
# License conforming to https://spdx.org/licenses/ (use "SPDX: prefix)
# https://docs.blender.org/manual/en/dev/advanced/extensions/licenses.html
license = [
"SPDX:GPL-2.0-or-later",
]
# Optional: required by some licenses.
copyright = [
"2002-2024 Eric Gentry"
]
# Optional list of supported platforms. If omitted, the extension will be available in all operating systems.
# platforms = ["windows-x64", "macos-arm64", "linux-x64"]
# Other supported platforms: "windows-arm64", "macos-x64"
# Optional: bundle 3rd party Python modules.
# https://docs.blender.org/manual/en/dev/advanced/extensions/python_wheels.html
# wheels = [
# "./wheels/hexdump-3.3-py3-none-any.whl",
# "./wheels/jsmin-3.0.1-py3-none-any.whl",
# ]
# # Optional: add-ons can list which resources they will require:
# # * files (for access of any filesystem operations)
# # * network (for internet access)
# # * clipboard (to read and/or write the system clipboard)
# # * camera (to capture photos and videos)
# # * microphone (to capture audio)
# #
# # If using network, remember to also check `bpy.app.online_access`
# # https://docs.blender.org/manual/en/dev/advanced/extensions/addons.html#internet-access
# #
# # For each permission it is important to also specify the reason why it is required.
# # Keep this a single short sentence without a period (.) at the end.
# # For longer explanations use the documentation or detail page.
#
# [permissions]
# network = "Need to sync motion-capture data to server"
# files = "Import/export FBX from/to disk"
# clipboard = "Copy and paste bone transforms"
# Optional: build settings.
# https://docs.blender.org/manual/en/dev/advanced/extensions/command_line_arguments.html#command-line-args-extension-build
# [build]
# paths_exclude_pattern = [
# "__pycache__/",
# "/.git/",
# "/*.zip",
# ]