Perhaps, though even after extensive testing I have not run into any problems: no errors, no crashes, no issues with undo/redo. Of course that might change in the future, but I think you’re underestimating how horrible a button would be for my add-on’s user experience.
Yes, because the checkbox is displayed right next to other checkboxes, so the discrepancy is very ugly and noticeable. In particular the “Armature -> Enable rigid bodies” checkbox.
It is not a minor difference, the checkboxes are completely different, including the positioning and color!

If this was native Blender UI it would not be acceptable, why should it be acceptable in an add-on?
Yes, I know. Even when using operator_menu_enum
, it does not look the same, it does not behave the same, and it does not work with use_property_split
. I tried all the different operator and menu layouts, none of them work properly:

(The first one is the prop
, the second one is the operator_menu_enum
)
Yes, it is mandatory for it to create/delete objects when switching modes, otherwise it breaks the functionality. There is no way around this.
This must be done when switching modes, because in Edit mode the user might create new bones, remove bones, change bone parents, or move bones. And when switching out of Edit mode, the add-on must update the rigid bodies based on those changes (which involves creating/removing rigid body objects, and aligning the rigid bodies to match the bones).
Not every add-on fits into a nice neat “click button to do thing” workflow. I find it very bizarre that Blender provides update callbacks, but you’re not allowed to actually do anything inside of them.
I suggested adding a new Python API that would run the callback during the main event loop (when it is safe to create/remove objects), but they don’t seem interested in that either, which is also very bizarre…
I keep getting the impression that the Blender developers aren’t interested in complex add-ons, which is strange because add-ons are one of the major benefits Blender has over other 3D software. Add-ons like HardOps and BoxCutter are absolutely incredible, we need more and better add-ons, which can’t happen with a crippled add-on system.
(This isn’t directed at you, I’m just venting. I’ve spent hundreds of hours creating this add-on which adds in a useful feature to Blender and saves users a huge amount of time… but then I get told essentially “you can’t do that, and no we won’t provide an alternative”. I don’t mind being told that my implementation is wrong, but my goals are not wrong, and I don’t like them being dismissed, especially since I pay money to the Blender Institute.)