Attributes

Last updated 21 days ago

Overview

Attributes are the modular, customizable properties that define the "personality" of AYON entity.

Attributes are like variables, they add pieces of information to AYON entities. Attributes can store arbitrary data or essential information for the AYON pipeline to function properly.

The Attributes page is where you define and manage attributes across your studio.

Attributes can only be managed at the studio level. It is currently not possible to manage attributes at the project level.

Attribute Scopes

Scopes determine which type of AYON entity the attribute is added to:

List attributes are managed independently from the Attributes tab. They are defined and managed in the Lists tab, per project per list.

Attribute Types

Attributes supports the following common data types:

  • String: A text value, e.g., This is cool

  • Integer: A whole numbers e.g., 1

  • Decimal: A floating-point number e.g., 3.166

  • List of Strings: A list of text values.

  • Boolean: A True/False value, e.g., true

  • Date Time: A date and time text value in UTC format e.g., 2021-01-01T00:00:00+00:00
    The DateTime data type is not available for selection when creating an attribute.

Attribute Source

Attributes can be added from various sources:

  • built-in : Defined by the AYON server and essential for AYON to function properly.

    You cannot delete built-in attributes, but you can modify their definitions. However, modifying built-in attributes may cause the pipeline or some AYON features to stop working correctly.

  • user-defined: Admin users can define custom attributes.

  • defined by addons : Addons can define attributes. Avoid modifying these definitions, as changes may cause the addon to malfunction.

Manage Attributes

When an attribute is created, modified, or deleted, you’ll be prompted to restart the server for changes to take effect.

Add a New Attribute

Click the + Add Attribute button at the top left of the page. This will prompt a window where you can specify the new attribute’s definition.

Attribute Definition Details:

  • Title: The label for the attribute.

  • Name: The internal name used by AYON. Once created, the name cannot be changed.

  • Scope: Select the AYON entity type to which this attribute will be added.

  • Type: Select the data type for this attribute.

  • Description: A description of the attribute.

  • Inherit: Toggle to enable or disable attribute inheritance.

  • Additional Attribute Details: Additional settings based on the selected type, used to control and validate values.

Adding a String Attribute

String attributes have these additional details:

  • Min Length: Minimum value length.

  • Max Length: Maximum value length.

  • Enum: List of selectable items. If empty, the value field defaults to a text input.

  • Regex: Pattern to validate the value.

Adding a List of Strings Attribute

List of Strings attributes have these additional details:

  • Min Items: Minimum number of items to select.

  • Max Items: Maximum number of items to select.

  • Enum: List of selectable items. If empty, the attribute will not function properly, as it expects a list of enum items.

Adding an Integer or Decimal Attribute

Integer and Decimal attributes have these additional details:

  • Min: Minimum value.

  • Max: Maximum value.

For Decimal attributes, you can specify whether the minimum is "greater than or equal to" and the maximum is "less than or equal to."

Adding a Boolean Attribute

Boolean attributes do not have any additional details.

Modify an Attribute

Right-click any attribute and choose the 🖉 Edit option to modify its definition. This opens the same window as Add New Attribute, but the attribute name is locked.

Remove an Attribute

Right-click any attribute and choose the 🗑️ Delete option to remove it.

Attributes and the Pipeline

For an attribute to be "visible" or "actionable" within the AYON pipeline (including loaders, publishers, and external sync tools), it must be explicitly defined in the Attribute Tab of the Server Settings. Attributes that are not registered on the server cannot be utilized by pipeline logic or stored within the database.

Therefore, AYON comes pre-packaged with essential attributes (e.g., frameStart, frameEnd, resolutionWidth, handleStart) that are used by almost every DCC integration.

When certain addons require custom metadata to function, the responsibility for creating those attributes is moved to the addon itself to streamline the experience. For example, the ftrack and Shotgrid addons automatically register specific attributes if they aren't already present; once these addons are used in your production, you will see new attributes on your server like ftrackId or shotgridId.

Example: Different attributes created by AYON addons.

If you are developing a custom tool, script, or a publish plugin and you need to store data as an attribute, ensure you create the attribute first, either manually or via code. This prevents errors when attempting to access or write to an attribute that the server does not yet recognize.

Attributes and Permissions

Admins and Managers have unrestricted access to create, manage, and modify attributes across the server and pipeline. For standard Users, access is determined by their assigned access group (either the studio default or a project-specific assignment).

Restricting Access

Within the Permissions tab of an Access Group, you have two primary options regarding attributes:

  • Restrict attribute read: Defines a "whitelist" of attributes from which the user is allowed to retrieve values.

  • Restrict attribute update: Defines which attributes a user is permitted to modify. It also sets permissions for allowed entity fields (such as Name, Label, and Status) and specific organizational controls, such as the ability to move folders or tasks.

    Important Limitation: While useful for preventing accidental changes to key attributes (for example, disallowing standard users from modifying frameStart and frameEnd), this setting can be quite restrictive. It implicitly limits access to fields not explicitly exposed in the UI, which may impact certain automated pipeline operations. Please report any incidents regarding this on our feedback portal.

FAQ

What is attribute inheritance?

Many attributes can be defined on multiple entities. In such cases, the child entity inherits the attribute value from the parent entity if the Inherit toggle is enabled in the attribute definition.

How do I set values for attributes?

Attributes are variables that extend AYON entity types. Values are set per entity:

  • Project attribute values can be set and modified as outlined in Modify Project Attributes.

  • Folder and task attribute values inherit project attributes by default and can be modified directly in the Project Overview Page or via the attribute button in The Details Panel.

  • Product, version, and representation attributes are set during publishing via the pipeline. These attributes can be modified programmatically using the AYON API.

    Note: On the Products and Versions Page, you can override values for product and version attributes, but not for representations.

  • User attributes can be modified by each user via their account profile settings, and admins can set them in the Users tab.

How to use enum in String attribute?

When creating or modifying string or list of strings attributes, you can add enum items by clicking the + button.

Each enum item includes:

  • Label: Item label

  • Value: Item value

  • Icon: Icon for the item

  • Color: Color for the item

A string attribute for the task entity type with enum items is shown in the image below.

Selecting a value for a task entity is demonstrated in the image below.

  • For string attributes, you can select one item.

  • For list of strings attributes, you can select multiple items.