1
$\begingroup$

I made a super-simple, one script add-on that duplicates objects and moves them to a hidden 'Backups' collection. It installs and works fine, but for reasons unknown to me does not show up in the Add-Ons panel in preferences. I have a bl_info object in my script:

bl_info = {
    "name": "Quick Backup",
    "blender": (2, 80, 0),
    "category": "Object",
    "location": "Tools (N key) > QuickBackup Tab"
    "description": "Create a duplicate of selected objects and move it a Backups collection. The button will make a Backups collection if one doesn't exist"
}

What am I missing?

$\endgroup$
2
  • 1
    $\begingroup$ As mentioned in my answer, there is a spelling error in the dict you provided. You forgot to add a comma after the location entry: "location": "Path to the tool",. $\endgroup$
    – brockmann
    Commented Jan 12, 2021 at 11:16
  • $\begingroup$ This was the problem, thanks! $\endgroup$ Commented Jan 12, 2021 at 11:39

1 Answer 1

2
$\begingroup$

The bare minimum is adding a register() function, otherwise it won't install. Also bl_info dict has to be formatted properly, make sure the entries are separated by a ,. Easy to test using our famous Operator Simple template (Text Editor > Templates > Python > Operator Simple)

bl_info = {
    "name": "Your Add-on Name",
    "blender": (2, 80, 0),
    "category": "Object"
}

import bpy

'''
class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

    def execute(self, context):
        pass
        return {'FINISHED'}
'''

def register():
    pass
    #bpy.utils.register_class(SimpleOperator)


def unregister():
    pass
    #bpy.utils.unregister_class(SimpleOperator)


if __name__ == "__main__":
    register()

Further reading:

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .