Skip to content

What Are Attributes?

If you have ever wondered what the mysterious Attributes list in Blender's mesh data is for, this page is for you. Attributes are one of the most powerful — and most overlooked — features in modern Blender.

An attribute is a generic term to describe data stored per-element in a geometry data-block. For example, every vertex can have an associated number or vector.

In other words, an attribute lets you attach a value to every part of your mesh: a number on each vertex, a color on each face, a piece of text on each edge, and so on. Every attribute has three things that define it:

  • A name — for example road_width or instance_index.
  • A domain — which mesh elements the data is attached to (vertices, edges, faces, or face corners).
  • A data type — what kind of value is stored (a float, an integer, a color, …).

Why Attributes Matter

Attributes are the raw data that Geometry Nodes read to make decisions. A procedural setup does not know what a "door" or a "window" is — it only knows the numbers you feed it. Attributes are how you feed it those numbers, per element, right on the mesh:

  • Store a road_width float on each edge to drive how wide a generated road segment becomes.
  • Store a building_height value on each face so a city generator extrudes each plot differently.
  • Store an instance_index integer on each face to dictate whether a door, window, or prop is scattered there.

The key idea is per-component control. Without attributes, a procedural setup usually forces an all-or-nothing choice: either apply one value uniformly to the whole mesh, or let a node generate random values you cannot steer. Attributes give you the middle ground — a deliberate, hand-picked value on each individual vertex, edge, or face — so this plot gets a tall building while that one stays short, and a door spawns exactly where you decide.

Domains — Where the Data Lives

The domain of an attribute is the type of geometry element the value is attached to. Blender supports several domains; the four that apply to meshes are:

Domain Also called The value is attached to… Typical use
Vertex Point Each vertex of the mesh Weights, per-point positions, random seeds
Edge — Each edge of the mesh Edge widths, crease-like data, tags
Face — Each face of the mesh Material choice, extrusion height, region ids
Face Corner Corner Each corner of every face UV maps, per-corner colors

Other domains exist too

Blender also has Spline/Curve and Instance domains for curve objects and for geometry created inside Geometry Nodes. These are not mesh element domains — the four above are the ones you work with on a mesh.

Data Types — What the Data Is

The data type is the kind of value stored at each element. Blender offers a range of types, listed below from the simplest to the most advanced:

Data type What it stores
Float A number that can have decimals, like 0.5 or 12.7 — great for weights or amounts
Boolean A simple on/off value: True or False
Integer A whole number with no decimals, like 3 or -7 — often an index or count
Vector Three numbers together (X, Y, Z) — usually a position or a direction
Color A full-quality color: red, green, blue, and transparency
Byte Color A color too, but stored more compactly at lower quality
String A piece of text, such as a name or a label
2D Vector Two numbers together (X, Y) — most often UV coordinates
4D Vector Four numbers together — usually describes a rotation
8-Bit Integer A very small whole number, from -128 to 127
2D 16-Bit Integer Vector Two small whole numbers together
2D Integer Vector Two whole numbers together
Quaternion Four numbers that together describe a rotation
4x4 Matrix A block of 16 numbers describing position, rotation, and scale at once

Types are converted implicitly

When you connect attributes of different types in Geometry Nodes, Blender converts between them where possible, just like node sockets. When separate geometries that share an attribute name are joined, the more advanced type (further down the list above) is kept.

Built-in vs. Custom Attributes

Not every attribute is something you create:

  • Built-in attributes always exist and cannot be removed — for example position (vertex locations), material_index (which material is on each face), and normals. Blender manages these for you.
  • Custom attributes are the ones you add to store your own data. Blender's Properties Editor → Object Data → Attributes list shows only these custom attributes.

Familiar mesh data is really just attributes under the hood: UV maps are 2D-vector attributes on the face-corner domain, edge crease is a float attribute, and vertex colors are color attributes.

Where Attributes Live in Blender

Out of the box, working with attribute values in Blender is scattered across several editors:

  • Add / remove / rename attributes in Properties Editor → Object Data → Attributes.
  • Inspect values in the Spreadsheet editor.
  • Set values via Geometry Nodes or the F3 → Set Attribute operator.

This means that just to change a single value you often end up jumping between the Spreadsheet, data menus, and node editors — all while leaving the mesh you are actually editing.

How attribute editor Helps

This is exactly the gap attribute editor fills. It brings attributes into Edit Mode, right where you model, so you can author the data driving your procedural setups without breaking your flow:

Ready to try it? Head to the Panel Overview to find the tools.

Learn More

Attributes are a deep topic. For the full reference, see the official Blender manual: