Modify > Add Attribute


Custom attributes are attributes you optionally add and define from the Add Attribute window. Although custom attributes are dynamically added to an object, we refer to them as custom to distinguish them from the built-in dynamic attributes.

Custom attributes have no direct effect on any characteristic of an object in Maya. You can use them to control a combination of other attributes. You might also use a custom attribute as a variable—a place to store a value temporarily to be read by other attributes.

When you add a custom attribute to an object, it appears in the Extra Attributes section of the Attribute Editor (and in the Channel Box, if you make the attribute keyable).

Select from the following options in the Add Attribute window:

Long name

This is the name of the attribute you are adding.

Override nice name

Turn on to provide a different/more user-friendly name that will be used when viewing this attribute in the Attribute Editor or Channel Box.

(A default nice name will be created if your attribute name is intercapped (that is, setAttributeBlackOrWhite becomes Set Attribute Black Or White).)

The nice name is only stored in the file if the Override nice name box is checked; otherwise, it's computed from the long name. This may insert multi-byte characters into a .ma (Maya ASCII) file if the nice name is in a multi-byte language such as Japanese.

Nice name

This is a shorter or more user-friendly name for the attribute. You can only type something in if Override nice name is turned on.

Make attribute

Defines the following attributes:


Makes the attribute keyable.


Makes the attribute non-keyable but displayed in the Channel Box.


Makes the attribute hidden (and not keyable).

For more details on these attribute types, see Channel Control Editor.

Data Type

Select the data type for the attribute:


Creates a vector attribute consisting of three floating point values.


Creates a floating point attribute.


Creates an integer attribute.


Creates an attribute consisting of an on/off toggle


Creates a string attribute that accepts alphanumeric entries as data entry.


Creates an attribute that accepts selections from an “enumerated” or drop-down list.


If you select Float or Integer, you can also set Numeric Attribute Properties.

Attribute Type

Select a type:


Creates a per object attribute that you can set to a single value that applies to every particle in the object. A vector scalar is considered a single value with three numbers. If you select Scalar, you can specify Minimum, Maximum, and Default values for a Float or Integer attribute.

Per Particle (Array)

Creates a per particle attribute. You can set this type of attribute to different values for each particle. If you select Per Particle (Array), you can also create a counterpart initial state attribute by turning on Add Initial State Attribute.

Add Initial State Attribute

Turn on to create a corresponding initial state attribute for the added attribute. Without this corresponding attribute, you can’t save a particle object’s current attribute values for initial state usage. You must write a creation expression if you decide to initialize the custom attribute’s value upon rewinding the animation. If you know you’re going to write a creation expression for a custom attribute, you can set Add Initial State Attribute to off when you add the attribute. Otherwise, set Add Initial State Attribute to on whenever you add a custom per particle attribute.

Numeric Attribute Properties

For scalar attributes, Minimum and Maximum set the lowest and highest values you can enter for the attribute in the Attribute Editor or Channel Box. Default sets the default value for the attribute.

Enum Names

When you're adding a new Enum attribute, you need to define the list of acceptable strings. There are two default strings, “Green” and “Blue”, in the Enum Names list that you can change. To change, select Green or Blue and then enter the new string in the New Name text box. To add a new string, click the blank entry below the last list item and type the string in the New Name text box.


The following list of names are reserved internally for (dynamic) shading attributes. You may use these names for custom attributes, but beware they may produce unexpected results in the shading network. For example, during shading the uvCoord value is provided, therefore ignoring your custom uvCoord attribute value.

Related topics

Creative Commons License Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License