user: Provide the full official documentation entry for Editing Properties, preserving all code examples.

assistant: ### User Interface

[image reference removed]

Custom Properties edit pop-up.

Custom properties can be edited using the panel available for data types that support it.
Editing the properties allows you to configure things such as default values,
ranges, and even add a custom tooltip.

Type
:   The data type of the property; different data types have can only have specific data properties.

    Float:
    :   A numeric value with decimals e.g. 3.141, 5.0, or 6.125.

    Float Array:
    :   A collection of multiple float data types e.g. `[3.141, 5.0, 6.125]` .
        This data type can also be used for data that can be represented as a float array such as colors.
        These special float arrays can be set in the *Subtype* selector.

    Integer:
    :   A numeric value without any decimals e.g. 1, 2, 3, or 4.

    Integer Array:
    :   A collection of multiple integer data types e.g. `[1, 2, 3, 4]` .

    Boolean:
    :   A data type that has two possible values e.g. `True` or `False`.

    Boolean Array:
    :   A collection of boolean values e.g. `[True, False, True]`

    String:
    :   A sequence of characters such as “Some Text”.

    Data-Block:
    :   A reference to a Blender object, see [Data-Blocks](data_blocks.html).

    Python:
    :   Edit a Python data type directly, used for unsupported data types.

Array Length
:   The number of elements in the array.
    Note that if the array length is greater than 7 you cannot directly edit its elements,
    you must press *Edit Value* to edit the elements of the array.

Property Name
:   The text that is displayed to the left of the value.
    This name is also used to access the property via Python.

Default Value
:   This sets the default value of the property used by the
    [Reset to Default Value](../interface/controls/buttons/menus.html#bpy-ops-ui-reset-default-button) operator.

Min, Max
:   The minimum/maximum value the custom property can take.

Library Overridable
:   Allow the property to be [overridden](linked_libraries/library_overrides.html)
    when the data-block is linked.

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

    Soft Min, Max
    :   The minimum/maximum value for the soft limit.

Step
:   A multiplier to control how much the data type is incremented at a time.
    The internal step size for floats is 0.01, so a *Step* value of 5 will
    increment at a rate of 0.05 and a *Step* value of 100 will increment by 1.0.
    For integers the internal step size is 1.

Precision
:   The number of digits after the decimal to display in the user interface for float data types.

Subtype
:   Specifies the type of data the property contains, which affects how it appears in the user interface.
    This option is only available for float properties and has different options for regular floats and float arrays.
    Note, the unit often depends on the [Scene Units](../scene_layout/scene/properties.html#bpy-types-unitsettings).

    For regular floats:

    Plain Data:
    :   Data values do not have any special behavior.

    Pixel:
    :   A measure digital image resolution.

    Percentage:
    :   The displayed value is a percentage, typically you will want the Min and Max values to be 0 and 100.

    Factor:
    :   A percentage between an upper and lower bound which typical have a numerical significance.

    Angle:
    :   A measure between intersecting lines.

    Time:
    :   Time specified in seconds.

    Distance:
    :   Measure of space between items.

    Power:
    :   Work as a factor of time, measured in watts. This is used in Blender to measure light intensity.

    Temperature:
    :   Intensity of heat present.

    Wavelength:
    :   The distance between cycles of a wave measured in millimeters (mm),
        micrometers (µm), nanometers (nm), or picometers (pm).

    For float arrays:

    Plain Data:
    :   Data values do not have any special behavior.

    Linear Color:
    :   Color in linear color space.

    Gamma-Corrected Color:
    :   Color in gamma corrected color space.

    Euler Angles:
    :   [Euler Rotation](../glossary/index.html#term-Euler-Rotation) angles.

    Quaternion Angles:
    :   [Quaternion Rotation](../glossary/index.html#term-Quaternion-Rotation) angles.

ID Type Data-Block
:   The ID-block type. For example: Key, Image, Object, Material.
    See [Data-Block Types](data_blocks.html#data-system-datablock-types) for a full list.

Description
:   Allows you to write a custom [Tooltip](../getting_started/help.html) for your property.

### Python Access

Custom properties can be accessed in a similar way to
[dictionaries](https://docs.python.org/3/tutorial/datastructures.html#dictionaries),
with the constraints that keys can only be strings,
and values can only be strings, numbers, arrays of such, or nested properties.

See the [API documentation](https://docs.blender.org/api/current/info_quickstart.html#custom-properties)
for details.