Custom Properties


Custom Properties panel.

Custom properties are a way to store your own metadata in Blender's data-blocks which can be used for rigging (where bones and objects can have custom properties driving other properties), and Python scripts, where it's common to define new settings not available in Blender.

Only certain data supports custom properties:

To add a custom property, find the Custom Properties panel, found at the bottom of most Properties Editor or Properties region, and hit Add.

Editing Properties

User Interface

Custom properties can be edited using the panel available for data types that support it.


Custom Properties edit pop-up.

Property Name

The name of the custom property.

Property Value

This does two things: first it sets the current value of the custom property, and second, it defines the data type of the property. For example, custom properties can either be of type: Integers, Floats, or Booleans. See the table below for a list of examples for each:


1, 2, 3, 4...


3.141, 5.0, 6.125,


True, False


Booleans are handled very similar to integers and only work when using Min/Max values that are integers and that are no more than 1 apart.

At this point, the booleans will still look like integers but behave like booleans having one lower, off, value and a higher, on, value.

Default Value

This sets the default value of the property used by the Reset to Default Value operator.


Default values are used as the basis of NLA blending, and a nonsensical default (e.g. 0 for a property used for scaling) on a property intended for being keyframed is likely to cause issues.


The minimum value the custom property can take.


The maximum value the custom property can take.

Use Soft Limits

Enables limits that the Property Value slider can be adjusted to without having to input the value numerically.

Soft Min

The minimum value for the soft limit.

Soft Max

The maximum value for the soft limit.

Is Statically Overridable

Specifies if the property can be overridden via the Static Overrides system (with an additional performance overhead).


Allows you to write a custom Tooltip for your property.

Python Access

Custom properties can be accessed in a similar way to dictionaries, with the constraints that keys can only be strings, and values can only be strings, numbers, arrays and nested properties.

See the API documentation for details.