Films Training Blog
Pipeline and Tools Characters
Pipeline and Tools Characters
search Login Join
favorite

Development Fund

Support Blender Core Development with a monthly contribution.

theaters

Blender Studio

The creators who share. Access production content and knowledge from the Open Movies.

code

Blender Developer Blog

Latest news and updates on Blender development.

people

Get Involved

Join the community and help with design, development, docs and more.

bar_chart

Open Data

A platform to collect and display the Blender Benchmark results.

menu_book

Blender Docs

Documentation on Blender's features, tools and API.

Blender Conference

The yearly event that brings together the Blender community in one place.

download

Get Blender

Download the latest Blender version, or try the beta!

Films
Training
Blog
Pipeline and Tools
Characters
Search
Login
Join

Course

Scripting for Artists
feed Course Overview
feed Blender Versions
Videos keyboard_arrow_down
  1. 01

    Introduction & copy-pasting

    Free
  2. 02

    Names & Objects

  3. 03

    Stuff on Lists

  4. 04

    Data Types

  5. 05

    Collections: Mass-Rename of Objects

  6. 06

    Blender Collections

    Free
  7. 07

    For vs. While

    Free
  8. 08

    Your Own Operator

    Free
  9. 09

    From Script to Add-on

    Free
  10. 10

    User Interfaces

    Free
  11. 11

    Custom Properties

    Free
  12. 12

    Asset Linking

    Free
  13. 13

    Roast my Add-on

    Free
  14. 14

    The Roast of Nature Clicker

    Free
  15. 15

    Modal Operators

    Free
  16. 16

    Readability & Understandability

Tech keyboard_arrow_down
  1. 01

    Updating F-Curves

  2. 02

    Render 10,000 OBJ files

  3. 03

    Mass-Rename Bones & Vertex Groups

  4. 04

    Rendering from 'all' angles

Course

Scripting for Artists
feed Blender Versions
Videos keyboard_arrow_down
  1. 01

    Introduction & copy-pasting

    Free
  2. 02

    Names & Objects

  3. 03

    Stuff on Lists

  4. 04

    Data Types

  5. 05

    Collections: Mass-Rename of Objects

  6. 06

    Blender Collections

    Free
  7. 07

    For vs. While

    Free
  8. 08

    Your Own Operator

    Free
  9. 09

    From Script to Add-on

    Free
  10. 10

    User Interfaces

    Free
  11. 11

    Custom Properties

    Free
  12. 12

    Asset Linking

    Free
  13. 13

    Roast my Add-on

    Free
  14. 14

    The Roast of Nature Clicker

    Free
  15. 15

    Modal Operators

    Free
  16. 16

    Readability & Understandability

Tech keyboard_arrow_down
  1. 01

    Updating F-Curves

  2. 02

    Render 10,000 OBJ files

  3. 03

    Mass-Rename Bones & Vertex Groups

  4. 04

    Rendering from 'all' angles

Videos

From Script to Add-on

9th April 2020

info License: CC-BY Free
Download (48.0 MB)
Download English Subtitles
flag Report Problem

Published by

Sybren A. Stüvel

Add-ons are a way to make handling your Blender scripts easier. They can be enabled and disabled when desired, and make it possible to distribute your work. In this chapter of Scripting for Artists, Sybren explains how to turn your code into your own add-on.

  • What is a code file? 01:03
  • Ingredients of an add-on: 02:44
  • Monkey Grid add-on: 06:46
  • Reloading your Code: 08:26

18 Comments

Join to comment publicly.

MaciekGliwa

1st December 2021 - 18:41

Hi Sybren. I am not sure if you will record more episodes, but one thing that would be amazing to see is how you would approach writing an add-on using Visual Studio Code that has multiple python files structured in it's own folders etc. and how would the back and forth between VisualStudio Code/Blender process look like. Thank you so much for your course, it is truly amazing and super educational!

Guillaume Thelissen

11th April 2020 - 14:04

Thanks again, Sybren!

A suggestion for part 10 (if there will be one ;-)) - how to work with bones and armatures. I have not found really good explanations on the web, e.g. how to manipulate bones in both pose and edit mode (which seems to be very different) I am mainly interested in this for modelling/rigging, less for animating. To be more precise I am trying to write a script/add-on that helps me place bones at the locations of empties. The empties are parented to vertices of a mesh (1v and 3v) and I want to automate placing the bones every time I run the add-on or change the mesh (I am using naming to keep track of the bone-empty combo.)

But of course any other subject is appreciated too. Just keep those tuts coming :-))

Sean Robin Lake

11th April 2020 - 17:26

off topic. What camera are you using?

Sybren A. Stüvel

16th April 2020 - 13:13

*@srlake3d* It's a Logitech C920. I manually set whitebalance and exposure so that it remains steady during the recording and so that it doesn't look so neutral grey.

Sean Robin Lake

11th April 2020 - 17:27

Would you suggest using something like Komodo?

Sybren A. Stüvel

16th April 2020 - 13:11

*@srlake3d* I've never used it myself, but pretty much anything that helps you write Python code in a way that works for you is good in my book.

<deleted>

17th September 2020 - 11:50

For Win10 users, if you experiment, just like me, the addon in e.g. in C:/tmpPKHG (or what you may have used) Look at some later time c:/Users/Eigenaar/AppData/Roaming/Blender Foundation/Blender/2.90/scripts/addons and remove all not suitable *.py Eigenaar is my account name ;-) (means owner)

Till I found and did removed older *.py files I got errors, errors ... So this is my INFO for this nice explanation of Sybren ;-)

delete Delete

Jaime Florian

6th April 2021 - 00:13

Hello Sybren! Thank you

Gregory Brown

20th January 2023 - 12:12

For anyone having trouble with the script showing in the f3 menu.

I was banging my head against my keyboard trying to figure out why the f3 menu wasn't working for me. Even with "Developer Extras" enabled.

The issue lies in making sure the bl_info at the top of the script meets all the criteria listed here https://wiki.blender.org/wiki/Process/Addons/Guidelines/metainfo#Script_Meta_Info

Gregory Brown

20th January 2023 - 12:13

If you leave anything out of that field it doesn't work properly. (I thought some things might have been optional when following the tutorial)

Sybila Producciones

18th June 2020 - 23:21

Thanks a lot for the new tutorials!! are awesome.
There are a bunch of tutorials about scripting but a very little (and not realy good) about making your script into an addon. Last year I've watched the first season and i was specting this.
So, a question
There is a way to load in an external coding software the blender API? So the external editor can do blender's console auto completion and recognize blender's syntax.
Thanks again! big fan here

felixpitau

14th September 2020 - 04:23

Any documentation to make it work with 2.90? I install and enable the add-on but the F3 menu is missing the operation and there is no menu in the corner to change the parameters when it runs from the python console.

<deleted>

17th September 2020 - 11:52

*@felixpitau* Maybe you have the problem I tried to describe above with MY solution ;-)

delete Delete
Show more replies

Sybren A. Stüvel

27th September 2020 - 17:13

*@felixpitau* By default the F3 menu now searches through menu items. It will show all operators when you enable Developer Extras in the Preferences.

Roberto Angeletti

27th March 2021 - 06:52

I need to create a more complex plugin, with many py source files.  So, I created a ZIP of all.  But, when I load in in Blender preferences panel, it doesn't appear.  Can you explain what are the correct steps to assemble a working ZIP plugin in Blender?  Thank you

Sybren A. Stüvel

12th April 2021 - 16:12

@Roberto Angeletti The ZIP is only for distribution of the add-on. When you want to actually use it, the separate Python files should be available on disk.

Jaime Florian

6th April 2021 - 00:14

Hello Sybren! Thank you for these nice tutorials, I'm having trouble with the Add-On, I Install it but it won't show up in the Add-On menu, I'm using Blender 2.92.0, what could be the cause of this?

Jaime Florian

6th April 2021 - 00:27

@Jaime Florian I've copied and pasted the bl_info from the API documentation and it is loading now, I must have made a mistake while typing the keys.

Blender Studio

The Creators Who Share.

Facebook Logo Twitter Logo YouTube Logo
  • Films
  • Blog
  • Training
Pipeline and Tools
  • Cloud Rig
  • Blender Kitsu
  • Contact Sheet Add-on
  • Blender Purge
  • Blender Cloud Services
Characters
  • Einar
  • Security Bot
  • Huginn
  • Pack Bot
Studio
  • Terms & Conditions
  • Privacy Policy
  • Contact
  • Remixing Music
  • Blender.org
Loading...