I see many examples that attach custom properties to objects eg.

bpy.types.Object.mytype = bpy.props.StringProperty()

What are the other useful places to put custom properties. In particular I want to store a global to the blend file itself?

 len(dir(bpy.types)) # -> 3282!

I see there is a type BlendData


1 Answer 1


Only ID types, Bones and PoseBones support properties:

Custom properties can be added to any subclass of an ID, Bone and PoseBone.


The only type with just a single instance is bpy.types.WindowManager, but its properties aren't serialized to .blend.


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