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
Singularity
In production
Wing It!
2023
Charge
2022
Sprite Fright
2021
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

Scripting for Artists

Blender Versions

Report Problem

This training series spans several years, and thus were aimed at different versions of Blender. As it's not possible time-wise to re-record the videos, this page is here to help you out and bring the code to be compatible with a modern release of Blender (2.93 at moment of writing).

Below there are sections for the different versions of Blender used in Scripting for Artists.

Blender 2.78

Videos 1-4 were made in 2017 with Blender 2.78.

  • The object creation operators now use the radius parameter instead of size, so for example bpy.ops.mesh.primitive_uv_sphere_add(size=0.1, location=(1, 1, 1)) changes to bpy.ops.mesh.primitive_uv_sphere_add(radius=0.1, location=(1, 1, 1)).

  • Since Blender 2.90, Operator Search (F3) only searches through operators that are contained in a menu. To see all operators in Blender, enable Developer Extra's in the Interface preferences.

  • Auto-completion in the Python console now uses Tab rather than Control-Space.

  • Hiding objects has changed, as objects can now have different visibility states in different view layers. Instead of setting ob.hide = True, you have to call ob.hide_set(True) (docs). Instead of getting ob.hide, you can call either ob.hide_get() (docs) or ob.visible_get() (docs).

  • Selecting objects has changed just like hiding them. Instead of setting ob.select = True, you have to call ob.select_set(True) (docs). Instead of getting ob.select, call ob.select_get() (docs).

  • Matrix multiplication has changed. In Tech 4: Rendering from 'all' angles we use vcoord = placement_ob.matrix_world * vert.co to perform a matrix multiplication. In modern Blenders this should use the @ operator, so it becomes vcoord = placement_ob.matrix_world @ vert.co.

Blender 2.79

The Tech videos were made in 2017 with Blender 2.79. The same notes as above for Blender 2.78 apply.

Blender 2.83

Videos 5-15 were made in 2020 with Blender 2.83.

  • Since Blender 2.90, Operator Search (F3) only searches through operators that are contained in a menu. To see all operators in Blender, enable Developer Extra's in the Interface preferences.

Blender 3.0

Video 16 was made in 2021 with Blender 3.0 alpha. It doesn't focus on writing any particular code, so there are no upgrade instructions here.

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