user: What is Properties and how is it used in Blender Python scripting?

assistant: ### Group

[image reference removed]

The *Group* panel.

This panel contains properties that relate the group node such as it’s name and look.

Name
:   The name of node as displayed in the [Title](parts.xhtml#interface-nodes-parts-title).

Description
:   The message displayed when hovering over the [Title](parts.xhtml#interface-nodes-parts-title) or in add menus.

Color Tag
:   Color tag of the node group which influences the header color.

Node Width
:   The width for newly created group nodes.

    (Set Default Node Width)
    :   Set the width based on the parent group node in the current context

Show Manage Panel Geometry Nodes
:   Enables displaying the [Manage](../../../modeling/modifiers/geometry_nodes.xhtml#geometry-nodes-manage-panel) panel in Geometry Nodes modifiers
    when creating a modifier from a node group asset.

#### Usage Geometry Nodes

This panel is only visible in the [Geometry Node Editor](../../../editors/geometry_node.xhtml).

Modifier
:   The node group is intended for use with the [Geometry Nodes Modifier](../../../modeling/modifiers/geometry_nodes.xhtml).

Tool
:   The node group is intended to be used as a [tool](../../../modeling/geometry_nodes/tools.xhtml).

The [data-block menu](../templates/data_block.xhtml#ui-data-block) in the header of the Geometry Node Editor
only lists the node groups whose Usage matches the current [Node Tree Sub-Type](../../../editors/geometry_node.xhtml#bpy-types-spacenodeeditor-node-tree-sub-type).

### Group Sockets

[image reference removed]

The *Group Sockets* panel.

This panel is used to add, remove, reorder, and edit the user interface elements of a node group.
It defines how sockets appear on the group node and organizes them for clarity and usability.

Available item types include:

- **Inputs**: Define input sockets for the node group.
- **Outputs**: Define output sockets for the node group.
- **Panels**:
  :   Group and organize related sockets together. Useful for structuring complex node setups.
      Panels always appear at the bottom of the node interface. They can be nested by dragging one panel
      on top of another in the interface item list.
- **Panel Toggle**:
  :   Adds a boolean checkbox to a panel’s header, allowing control over its contents.
      This option is only available when a panel is selected in the interface item list.

      Panel toggles have their own options under the *Panel Toggle* subpanel.
      Note that toggle sockets are **not** listed directly in the interface list—panels with toggles
      instead show a boolean socket icon next to their name. To make the toggle socket visible again,
      it must be [unlinked](#bpy-ops-node-interface-item-unlink-panel-toggle) from the panel.

Interface Item List
:   A [UI list view](../templates/list_view.xhtml#ui-list-view) showing all input/output sockets and panels.
    Each item can be renamed and configured individually. The name appears in the node’s user interface.

    Specials

    Duplicate Item
    :   Duplicates the selected socket or panel.

    Make Panel Toggle
    :   Converts the selected boolean input into a toggle for its parent panel.
        Only available when a panel is selected and the active item is a boolean socket.

    Unlink Panel Toggle
    :   Removes the toggle relationship between a boolean socket and a panel,
        making it a regular stand-alone input again.

Sockets

The properties available for sockets depend on several factors, including whether it is an input or output socket,
the data type, and the type of node tree.

Type
:   The type of [Socket](parts.xhtml#bpy-types-nodelink) generated by this interface item.

Description
:   The tooltip text displayed when hovering over the socket.

Attribute Domain Geometry Nodes – Output – Integer Color Vector Boolean Float
:   The type of geometry element the attribute corresponds to.
    See [Attribute Domains](../../../modeling/geometry_nodes/attributes_reference.xhtml#attribute-domains) for a complete list of attribute domains.

Default Attribute Geometry Nodes – Integer Color Vector Boolean Float
:   The attribute name used by default when the node group is used as a geometry nodes modifier.

Subtype Integer Float Vector String
:   Specifies how the data is interpreted and displayed in the user interface.
    The unit or behavior often depends on the [Scene Units](../../../scene_layout/scene/properties.xhtml#bpy-types-unitsettings).

    Integers
    :   None:
        :   Standard integer values.

        Percentage:
        :   Displayed as a percentage. Typically, *Min* and *Max* values are set to 0 and 100.

        Factor:
        :   A percentage or factor between a lower and upper bound.

    Floats
    :   None:
        :   Standard floating-point values.

        Percentage:
        :   Displayed as a percentage. Typically, *Min* and *Max* values are set to 0 and 100.

        Factor:
        :   A percentage or factor between a lower and upper bound.

        Angle:
        :   A measurement in degrees or radians, depending on scene units.

        Time (Scene Relative):
        :   Time in frames, converted to seconds based on the scene frame rate.

        Time (Absolute):
        :   Time in seconds.

        Distance:
        :   A spatial distance measurement.

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

        Color Temperature:
        :   A temperature value (Kelvin) corresponding to the perceived color of a light source.

        Frequency:
        :   A rate of repetition per second (hertz).

    Vectors
    :   None:
        :   Standard vector values.

        Percentage:
        :   Displayed as a percentage.

        Factor:
        :   A factor between a lower and upper bound.

        Translation:
        :   A displacement vector.

        Direction:
        :   A geometric direction vector.

        Velocity:
        :   Vector representing speed and direction of motion.

        Acceleration:
        :   Vector representing the change in velocity.

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

        XYZ:
        :   Cartesian coordinates. A fourth component (W) may also be supported.

    Strings:
    :   None:
        :   Standard text string.

        File Path:
        :   The string is interpreted as a path to a file.

Dimensions Vector
:   Sets the number of components for the vector socket: 2, 3, or 4.
    Changing the dimension affects how the socket is drawn and how data is passed through it.

    - **2D**: X and Y components only.
    - **3D**: X, Y, and Z components.
    - **4D**: X, Y, Z, and W components.

Default
:   The value used when nothing is connected to the socket.

Min, Max
:   The minimum and maximum values for the UI control in the node interface.

Expanded Menu
:   Displays the menu in an expanded layout, showing all options at once.

    - In node editors, only the expanded menu is shown, without a label.
    - In modifier and operator panels, both the label and the expanded menu are displayed.

Default Input Geometry Nodes – Input – Integer Vector Matrix
:   The value used when the socket is unconnected.
    Requires *Hide Value* to be enabled.

Optional Label Input
:   Indicate that the label of this socket is not necessary to understand its meaning.
    This may result in the label being skipped in some cases.

Hide Value
:   Hides the socket’s default value control, even when it is not connected.

Layer Selection Geometry Nodes – Input – Boolean
:   Takes a Grease Pencil Layer or Layer Group as a selection field.

Hide in Modifier Geometry Nodes – Input
:   Hides the input value in the Geometry Nodes modifier interface.
    This allows the socket to be used inside the node group, but not exposed to the modifier.

    Available only for Geometry Nodes input sockets.

Shape Geometry Nodes – Input
:   Specifies what kind of higher-order data the socket accepts.
    See [Socket Shape](parts.xhtml#interface-controls-nodes-socket-shape) for more information.

    Auto:
    :   Automatically detect the most appropriate shape based on how the socket is used.
        This is the default option and works for most cases.

    Dynamic:
    :   The socket can adapt to multiple shapes, making it flexible when used with different connections.
        Useful for generic node groups intended to handle various data types.

    Single:
    :   Only allows single values (constants) rather than structured data.
        Fields or grids cannot be connected.

    Field:
    :   The socket expects a [field](../../../modeling/geometry_nodes/fields.xhtml),
        meaning the value can vary depending on the geometry element or context.

    Grid:
    :   The socket expects a grid data structure, which stores values sampled across a volume or 2D space.

Panels

Description
:   The tooltip text displayed when hovering over the panel’s header.

Closed by Default
:   When enabled, the panel is collapsed by default on new nodes.

### Animation

Controls animation data for node group properties, including active [Actions](../../../animation/actions.xhtml)
and their assigned [Slot](../../../animation/actions.xhtml#animation-actions-slots).

See [Manually Assigning Actions and Slots](../../../animation/actions.xhtml#animation-actions-slots-manual-assign) for more information.