bl_info = { "name": "Example Add-on Preferences", "author": "Your Name Here", "version": (1, 0), "blender": (2, 65, 0), "location": "SpaceBar Search -> Add-on Preferences Example", "description": "Example Add-on", "warning": "", "doc_url": "", "tracker_url": "", "category": "Object", } import bpy from bpy.types import Operator, AddonPreferences from bpy.props import StringProperty, IntProperty, BoolProperty class ExampleAddonPreferences(AddonPreferences): # this must match the add-on name, use '__package__' # when defining this in a submodule of a python package. bl_idname = __name__ filepath: StringProperty( name="Example File Path", subtype='FILE_PATH', ) number: IntProperty( name="Example Number", default=4, ) boolean: BoolProperty( name="Example Boolean", default=False, ) def draw(self, context): layout = self.layout layout.label(text="This is a preferences view for our add-on") layout.prop(self, "filepath") layout.prop(self, "number") layout.prop(self, "boolean") class OBJECT_OT_addon_prefs_example(Operator): """Display example preferences""" bl_idname = "object.addon_prefs_example" bl_label = "Add-on Preferences Example" bl_options = {'REGISTER', 'UNDO'} def execute(self, context): preferences = context.preferences addon_prefs = preferences.addons[__name__].preferences info = ("Path: %s, Number: %d, Boolean %r" % (addon_prefs.filepath, addon_prefs.number, addon_prefs.boolean)) self.report({'INFO'}, info) print(info) return {'FINISHED'} # Registration def register(): bpy.utils.register_class(OBJECT_OT_addon_prefs_example) bpy.utils.register_class(ExampleAddonPreferences) def unregister(): bpy.utils.unregister_class(OBJECT_OT_addon_prefs_example) bpy.utils.unregister_class(ExampleAddonPreferences)