Blender add-on development – manifest file

Starting with Blender 4.5, the developers fundamentally changed the approach to developing Blender add-ons. Now – Extensions, rather than Add-ons. The old add-on format still works correctly, and if you don’t intend to publish your add-ons in the official Blender Extensions library, you don’t need to change anything. However, if you want your add-ons to be supported by Blender in the future, it’s a good idea to make some changes now. One such improvement is the creation of a manifest file.

Each Blender add-on must now include a manifest file.

This is a simple text file containing summary information about the add-on. The manifest file specifies the data we previously specified in the bl_info structure in our add-on’s __init__.py file. The main purpose of this file is to transfer this reference information from the add-on’s main file into a separate file.

After you create the manifest file and fill it, you can delete the outdated “bl_info” structure in the __init__.py file.

Let’s create the manifest file.

The file name must be “blender_manifest” and the extension must be “toml.”

Create a blender_manifest.toml file in our add-on directory. It should later be included in the .zip archive with the add-on distribution.

Edit it as follows.

First, fill in the required fields:

The specification format version shoudl be first.

Next, we specify the add-on ID. Previously, the add-on ID was the name of its distribution, but now we can specify it manually.

Specify the add-on version. Previously, we specified the version as a tuple, for example, (1, 3, 3), but now it’s a text value, but we still need to follow the delimited format.

The add-on name.

Tagline – a brief description of the add-on. This is what we previously specified in the “description” field of “bl_info”.

Information about yourself, the add-on developer. This should be in the format “name – contact email address”, or only name.

The type is always “add-on”. This indicates that this is an add-on. The second possible value, “theme,” is used when developing Blender themes.

The minimum Blender version for which the add-on is intended. Also in numeric format with a period.

This specifies the add-on’s distribution license. You can specify your own license, but the correct license is the GPL. Therefore, it should always be specified like this:

Next, you can specify several more optional fields.

Tags. This is what we previously specified in the “category” field of “bl_info”. However, we can now specify multiple values ​​at once.

Full list of possible tags: 3D View, Add Curve, Add Mesh, Animation, Bake, Camera, Compositing, Development, Game Engine, Geometry Nodes, Grease Pencil, Import-Export, Lighting, Material, Modeling, Mesh, Node, Object, Paint, Pipeline, Physics, Render, Rigging, Scene, Sculpt, Sequencer, System, Text Editor, Tracking, User Interface, UV.

Specifies the highest possible Blender version for your add-on. It is assumed that your add-on no longer works with the Blender version specified in this field.

Link to your website or page where users can leave feedback or report bugs.

Specifies the platforms. For example, if your add-on only works on Windows and MacOs.

Full list of possible platform values: windows-x64, windows-arm64, macos-x64, macos-arm64, linux-x64.

Permissions. These need to be specified if your add-on accesses additional devices on the user’s computer, for example – a camera.

The list of available devices: files, network, clipboard, camera, microphone.

Permissions must be specified for each device on a separate line with a brief description of the actions required.

These are not all the fields that can be included in your add-on’s manifest file. However, these are usually sufficient for 90% of all add-ons.

You may need additional fields if, for example, your addon uses third-party Python Wheels modules, requires certain files to be excluded when building the distribution, or, conversely, requires the inclusion of certain third-party additional files in the distribution. In standard cases, the fields listed above are sufficient in most cese.

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comment
Newest
Oldest Most Voted
Inline Feedbacks
View all comments