PropertyGroup(bpy_struct)

Custom Properties

PropertyGroups are the base class for dynamically defined sets of properties.

They can be used to extend existing Blender data with your own types which can be animated, accessed from the user interface and from Python.

Note

The values assigned to Blender data are saved to disk but the class definitions are not, this means whenever you load Blender the class needs to be registered too.

This is best done by creating an add-on which loads on startup and registers your properties.

Note

PropertyGroups must be registered before assigning them to Blender data.

See also

Property types used in class declarations are all in bpy.props

import bpy


class MyPropertyGroup(bpy.types.PropertyGroup):
    custom_1: bpy.props.FloatProperty(name="My Float")
    custom_2: bpy.props.IntProperty(name="My Int")


bpy.utils.register_class(MyPropertyGroup)

bpy.types.Object.my_prop_grp = bpy.props.PointerProperty(type=MyPropertyGroup)


# Test this worked.
bpy.data.objects[0].my_prop_grp.custom_1 = 22.0

base class — bpy_struct

subclasses — OperatorFileListElement, OperatorMousePath, OperatorStrokeElement, SelectedUvElement

class bpy.types.PropertyGroup(bpy_struct)

Group of ID properties

name

Unique name used in the code and scripting

Type:

string, default “”, (never None)

bl_system_properties_get(*, do_create=False)

DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data

Parameters:

do_create (boolean, (optional)) – Ensure that system properties are created if they do not exist yet

Returns:

The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested

Return type:

PropertyGroup

classmethod bl_rna_get_subclass(id, default=None, /)
Parameters:

id (str) – The RNA type identifier.

Returns:

The RNA type or default when not found.

Return type:

bpy.types.Struct subclass

classmethod bl_rna_get_subclass_py(id, default=None, /)
Parameters:

id (str) – The RNA type identifier.

Returns:

The class or default when not found.

Return type:

type

Inherited Properties

Inherited Functions

References