Builds, add-ons, plug-ins! Some explanation perhaps?

So, after reading a thread about people wanting a C/C++ API in addition to just Python for Blender, it got me thinking about how little I know about the structure of Blender and what is possible and what is not.

I understand how to install and use add-ons, like Python scripts and the like.

But what is different between, say, a Python add-on, and something like the Molecular particles plug-in, which I believe was written in C/C++. Or, even further, what is the difference between either of those and the old “Particle Nodes” build of Blender.

So, we are on the verge of Blender 2.72 official…and I can install a Python add-on and the Molecular plug-in, but what is it about the "Particle Nodes’ build that has it languishing in the 2.6x series. I know it seems that the developer is no longer working on it, but will it just die as a 2.6x relic, or is it possible (or hard, or easy), to turn that functionality into a movable plug-in like Molecular?

How can I have everything in one place? Or do I just need to keep around a really old version of Blender if I ever want to play with particle nodes?

Particle nodes?!?!?!? Where?!?!?!?!

o.O particle node :confused: what’s this ??! :ba:

You know. Particle nodes.

Thanks alot! This what I dreamed for long years! =) But it looks to be abandoned and this is horrible. Perhaps we can do something with it, like croudfunding?

Add-ons (also for some reason spelt ‘addons’ in blender) are python scripts that can be used just by “installing” them (which literally just copies it into the right folder).

As far as I know, there is no such thing as a ‘plug-in’ for blender, but it’s a common term that’s sometimes used instead of ‘add-on’, but means the same thing.

Builds are needed when there are actual changes to blender’s source code (not just something like an add-on you can plug in :wink: ). Often blender’s python API doesn’t give you enough access to perform the function you need, or is too slow, and thus you need to implement the function directly in the source code and re-compile blender. Compiling blender can be a bit of a bitch, so the dev (or some smart person) will compile it for you and upload the new compiled code (the ‘build’) somewhere for regular humans to use ( usually)

Some more info:
Quick overview and introduction to the python API
A bit more in-depth overview of the Python API
Catalog of blender add-ons
Blog that frequently features the less-known (and usually less polished) add-ons
Docs for building blender yourself: Windows, Linux, Mac

In the case of the Molecular Physics script, it’s just a damn good add-on as far as I know. I remember some fancy python magic to make it super fast being mentioned, but can’t find the details. It’s definitely not a custom build though.

IIRC, there were C/C++ plugins back in the 2.6 and prior days but support for them was dropped as the Python scripting became more capable