As above, I have minimal experience with Blender (although, I do have some). It feels like a prohibitively awful experience to make tools/scripts for as compared to max/maya/modo or basically other DCC tool.
I am curious as well. The fact that they use Python 3 is nice, but I haven't messed with any of their scripting api. I do wonder why they don't support C++ plugins like other apps.
Last time I tried making scripts for Blender I ran into problems with their garbage collection system not being properly exposed (had to use a hack to press buttons in the UI instead...). The documentation at the time was also quite poorly written and made getting started a lot more challenging then it should have been. This was maybe 2-3 years ago though, might be better now.
I mean I'm far from a scripter myself but with all the docs available on the web for Python and how it's possible to access seemingly everything in Blender through Python even I was able to script my way around workflow inconveniences. Nothing fancy, obviously.
I had to give up on Max and Maya every single time when attempting to script. So many exceptions and inconsistencies and I managed to stumble over all of them at once.
What's annoying about Blender though is how rapidly it changes under the hood and how quickly addons can end up out of date as a result.
I'll be watching this with interest, blender is on my radar as a pipeline backbone (tbh anything that isn't Maya is on my radar)
Marks could you maybe list off a few concerns you have?
Also fwiw ive recently had to dig into Max 2021's python implementation for a new project and I very much prefer it to the dogs breakfast that is maya python - if they bothered to document it at all I suspect uptake would be a lot quicker
What does an add-on bring into this discussion as it inherits all the shortcomings and limitations from Blender anyways?
I mean the huge add-on ecosystem shows that it's possible to do many things in the blender environment - but I don't think that was the concern of marks in the first place
I have a fairly good grasp on Blender's API and zero on Max/Maya/Modo, making it hard to exchange notes if you don't get into your issues' specifics.
Keep in mind that I'm an art artist for whom coding is just a hobby and a way to to make life easier. My general impression is that Blender lends itself to extending. Python is easy, Blender's API is decently documented, it has a community big enough you can find most things that aren't, the UI provides a lot of cues about what's going on under the hood.
The low level API lets you do a lot of things and for most stuff lacking direct methods you can kludge something with ops. That said, there are things fully out reach of Python. It's mostly "closed" systems which are being or will be replaced in the future, eg: Hair Particles. It's infuriating to not be able to directly access and manipulate the strands vertexes at all without some absurd workarounds, because this is a vital feature for character artists which is very poor in native manipulation tools. It could really use some extending!
The way the hair system lacks full 3d cursor support and its habit of exploding if you look at it the wrong way makes obvious it's walking towards "legacy" support, so the black hole in API methods isn't really unexpected, but it's still a big hindrance. I feel it's not exactly an API issue though, it's more like an entire chunk of the software lagging behind.
Replies
Marks could you maybe list off a few concerns you have?
Also fwiw ive recently had to dig into Max 2021's python implementation for a new project and I very much prefer it to the dogs breakfast that is maya python - if they bothered to document it at all I suspect uptake would be a lot quicker
Keep in mind that I'm an art artist for whom coding is just a hobby and a way to to make life easier. My general impression is that Blender lends itself to extending. Python is easy, Blender's API is decently documented, it has a community big enough you can find most things that aren't, the UI provides a lot of cues about what's going on under the hood.
The low level API lets you do a lot of things and for most stuff lacking direct methods you can kludge something with ops. That said, there are things fully out reach of Python. It's mostly "closed" systems which are being or will be replaced in the future, eg: Hair Particles. It's infuriating to not be able to directly access and manipulate the strands vertexes at all without some absurd workarounds, because this is a vital feature for character artists which is very poor in native manipulation tools. It could really use some extending!
The way the hair system lacks full 3d cursor support and its habit of exploding if you look at it the wrong way makes obvious it's walking towards "legacy" support, so the black hole in API methods isn't really unexpected, but it's still a big hindrance. I feel it's not exactly an API issue though, it's more like an entire chunk of the software lagging behind.