Serpens - Visual Scripting Addon

by Joshua Knauber in Scripts and Addons

What is Serpens?

Serpens aims to make the endless possibilities of blenders python scripting tools more accessible. It gives you Visual-Scripting options based on a custom node system to generate python code which you can then share and install as your own addons.

(Questions? Join the discord server!)

Want to try it for free? Click here to get a test version!

(This only has the very basic functionality and is nowhere close to the full addon)

Helpful videos:

How it works

Serpens provides you with a full node system. This allows you to create UI elements as well as add new functionality. You can access and change data like object names, colors, etc. as well as creating your own buttons to run your node-based programs.

You can reload your addon with the click of one button to work as fast as possible!

You can then export your finished addons. These generated python files can then be installed anywhere. This way you can share the addons you create with others and use them in any blender file!


Serpens allows you to make your own elements in the interface. You can create your own panels, add to existing panels, pie menus, buttons, checkboxes and more!

It makes it very easy to change your layouts: Want multiple elements in a row? Add a row node! Want a box around it? Add a box node!

You can also add your own shortcuts. These can open pie menus, show panels or run any operation you want!

You can access data inside blender, as well as change it. This allows you to manipulate your objects and anything else in your file!

We also have a built-in tutorial! You can switch through the images right in the node editor to start learning more about the addon.

For developers

While you don’t need any programming experience to use this addon it will only help you if you do! You can run your own scripts with nodes if you simply want to get help with the interface or creating an actual addon.

Apart from that we also provide the option to install custom node packages! This opens up a whole world of new possibilities because it allows for way more features!

We offer a built-in marketplace that can be updated over the air (no need to reinstall the addon) and allows developers to promote their own packages for selling or giving away!

Click here to learn more about this!


What Serpens isn’t: This addon is not a replacement for python scripting in blender! While it provides a lot of ever-growing functionality, it will always lack some of the flexibility of actual scripting. It is also not meant for procedural modeling, it's for developing actual installable addons. 

The addon will grow in functionality based on your feedback, so let us know what you want to be able to do! You can join the discord server for that here!



  • Added auto save option to node trees
  • Added Run Interface Script and Interface Script Line node
  • Added Use Execute option to run function on data node
  • Added report function to print node
  • Added selected output on objects node
  • Added define type to run function on data node
  • Added Is Export node
  • Added context selection to run operator
  • Fixed get mesh points node outputs
  • Fixed run function on data with modifier
  • Fixed preference properties not working
  • Fixed double import with random number nodes
  • Fixed get asset node
  • Fixed 3d view properties


  • Rewrite of the entire addon
  • Ability to add multiple node trees for one addon
  • Separated Properties and Variables
  • Ability to add custom icons
  • Ability to add functions
  • Export as .zip file to allow for addon assets
  • Over 50 new nodes
  • And much more...


  • Added functionality to record operators and property changes and convert them into nodes
  • Added objects and constraints to define type
  • Added radians/degrees node
  • Added change variable by node
  • Added preferences to the object context node
  • Fixed the script line node in some cases
  • Added blend files to addon marketplace


  • Fixed general bugs
  • Added insert keyframe node
  • Added context types for different node editors
  • Fixed issues with numbers at the start of operators
  • Added lights, nodes and sockets to define type
  • Added node to set active
  • Changed run script line to string socket
  • Added python path output to get variable


  • Fixed crashes with other addons
  • Added split/combine vector nodes
  • Added popover node
  • Added subtypes to int and float variables
  • Added context override to run operator
  • Added slider option to display number
  • Added get/set custom properties nodes
  • Fixed set data properties with enum input
  • Added define modifier type node
  • Added more UI contexts for panel and add to panel
  • Added set active object/action node
  • Fixed Color variable
  • Fixed Run Operator with empty enums
  • Variables get found in the search prop after name change
  • Added update function to variables
  • Improved dynamic sockets
  • Added min/max to float and int variables
  • Fixed issues with print/report


  • Added first iteration of addon marketplace
  • Fixed crashes by removing default node setup (good old default cube :/)
  • Added built in update notifications
  • Added 'Show In Search' option to button node
  • Added 'Show popups' option to run operator node
  • Added Multiply and Divide to Vector Math node
  • Added search to icon popup
  • Fixed encoding error when installing on some machines
  • Fixed spaces in variable names
  • Operators get refreshed
  • Changed run operator property generation
  • Added license info button
  • Added single line option to run script
  • Added Select to get/set data properties nodes
  • Fixed variable descriptions
  • Added get path node
  • Added path exist node
  • Added combine paths node
  • Added path operations node
  • Added report option to print node
  • Added collections and objects to set data properties
  • Fixed import/export operators
  • Added path subtypes to string variable


  • Initial release