3 ms·
The API is the worst part of Blender. * Almost every release introduces some breaking changes * The documentation that you find online is almost always out of
by bogwog 5y ago
The API is the worst part of Blender.
* Almost every release introduces some breaking changes
* The documentation that you find online is almost always out of date
* Most error messages give you very little feedback to figure out the problem
* Most of the existing operators/scripts are implemented in C/C++ and are built into blender. So when you encounter a useless error message (extremely common), your only option is to clone the full Blender source tree and start searching for that particular operator
* Many functions/operators are dependent on the editor state. For example: the only way to pass an input to an operator is to change the currently selected object, and you have to make sure the editor is in the correct mode (object/edit/pose/etc). All of these things are visible to the user, so you better revert any changes you made once your script completes to avoid interrupting their workflow/annoying them.
But the built-in Python console with tab completion is excellent. Even though the API has all those problems, having an interactive REPL to figure things out is great. If the API were more stable, documented, and less clunky with the editor state stuff, creating extensions for Blender would be an awesome experience.