Blender Studio
  • Films
  • Projects
  • Training
  • Characters
  • Tools
  • Blog
  • Join
  • BLENDER.ORG

    • Download

      Get the latest Blender, older versions, or experimental builds.

    • What's New

      Stay up-to-date with the new features in the latest Blender releases.

    LEARNING & RESOURCES

    • Blender Studio

      Access production assets and knowledge from the open movies.

    • Manual

      Documentation on the usage and features in Blender.

    DEVELOPMENT

    • Developers Blog

      Latest development updates, by Blender developers.

    • Documentation

      Guidelines, release notes and development docs.

    • Benchmark

      A platform to collect and share results of the Blender Benchmark.

    • Blender Conference

      The yearly event that brings the community together.

    DONATE

    • Development Fund

      Support core development with a monthly contribution.

    • One-time Donations

      Perform a single donation with more payment options available.

Training Highlights
Stylized Rendering with Brushstrokes
Geometry Nodes from Scratch
Procedural Shading Fundamentals
Stylized Character Workflow

Training types
Course Documentation Production Lesson Workshop

Training categories
Animation Geometry Nodes Lighting Rendering Rigging Shading
Film Highlights
Wing It!
2023
Charge
2022
Sprite Fright
2021
Spring
2019
Project Highlights
Project DogWalk
Interactive
Gold
Showcase
BCON24 Identity
Showcase
Fighting with Grease Pencil
Article
Course
Scripting for Artists
Blender Versions
Videos
  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
  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

Sybren Stüvel
Sybren Stüvel Author
  • Free
Download English Subtitles
Download .mp4   48.0 MB
License CC-BY
Report Problem
Videos

From Script to Add-on

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

Join to leave a comment.

20 comments
Nacho de Andrés
Nacho de Andrés
April 16th, 2024

Thanks a lot for this.

I think it would be great to have a refresh of this video now that the new expensions platform is coming so people know how to make the right adjustments to work with the new system in 4.2

Sybren Stüvel
Sybren Stüvel
July 24th, 2024

@Nacho de Andrés I've been wanting to refresh these videos for a while, since some of them are even from the 2.7x era. It would take a lot of time to update the scripts & re-record everything though, and that's time not going into actual Blender development.

Gregory Brown
Gregory Brown
Jan. 20th, 2023

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
Gregory Brown
Jan. 20th, 2023

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)

Maciej Gliwa
Maciej Gliwa
Dec. 1st, 2021

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!

Jaime Florian
Jaime Florian
April 6th, 2021

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
Jaime Florian
April 6th, 2021

@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.

Jaime Florian
Jaime Florian
April 6th, 2021

Hello Sybren! Thank you

Roberto Angeletti
Roberto Angeletti
March 27th, 2021

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 Stüvel
Sybren Stüvel
April 12th, 2021

@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.

<deleted>
<deleted>
Sept. 17th, 2020

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 ;-)

Edit
Delete
felixpitau
felixpitau
Sept. 14th, 2020

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>
<deleted>
Sept. 17th, 2020

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

Edit
Delete
Show more replies
Sybren Stüvel
Sybren Stüvel
Sept. 27th, 2020

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

Sybila Producciones
Sybila Producciones
June 18th, 2020

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

Sean Robin Lake
Sean Robin Lake
April 11th, 2020

Would you suggest using something like Komodo?

Sybren Stüvel
Sybren Stüvel
April 16th, 2020

*@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.

Sean Robin Lake
Sean Robin Lake
April 11th, 2020

off topic. What camera are you using?

Sybren Stüvel
Sybren Stüvel
April 16th, 2020

*@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.

Guillaume Thelissen
Guillaume Thelissen
April 11th, 2020

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 :-))

Films Projects Training Blog Blender Studio for Teams
Pipeline and Tools
  • CloudRig
  • Blender Kitsu
  • Brushstroke Tools Add-on
  • Blender Studio Extensions
Characters
  • Mikassa
  • Whale
  • Ballan Wrasse
  • Snow
Studio
  • Terms & Conditions
  • Privacy Policy
  • Contact
  • Remixing Music
Blender Studio

The creators who share.

Artistic freedom starts with Blender The Free and Open Source 3D Creation Suite