Discover AYON Concepts

I was going through Key concepts glossary | AYON Docs and trying to wrap my head around the concept and thought it would be a good idea to write my understandings here, and let the community correct me if I am wrong somewhere.

At the end of it you will also find an ASCII hierarchy for the lack of a flowchart.

AYON is a pipeline platform with a specific terminology and structure. Here is a simplified explanation of each term:

  1. Folder: This is the main building block of all AYON projects, and it can have different types such as Episode, Sequence, Shot, and AssetBuild. Folders can be nested within each other, forming a hierarchy.

  2. Asset: These are the main entities the project is made from. Examples include Episode, Sequence, Shot, Character, Prop, etc. All behave identically in the pipeline and must have unique names across the whole project.

  3. Subset: This is the result of publishing any data from an AYON Folder. A single Folder can have many Subsets, even of a single family, named variants. The Subset type is referred to as a family, for example, a rig, model, or a look.

  4. Variant: An asset can have multiple ‘flavors’ or variants. For example, a character might have different looks, a model needs to be published in different resolutions, etc. Variants allow for this variety within a single asset.

  5. Version: This is a numbered iteration of a given Subset. Each Version must contain at least one representation.

  6. Hero version: This is a version that always corresponds to the latest published version. When a new publish is generated, it replaces the previous hero version.

  7. Representation: Each published Subset version can have multiple representations. These are most often different file formats of the same data, for example, .ABC and .OBJ representations of a model.

  8. Family: Each published subset can have exactly one family assigned to it. Family determines the type of data that the Subset holds.

  9. Task: This defines a work area for an asset where an artist can work. For example, a character asset can have tasks named modeling and rigging.

  10. Entity naming convention: The names of Folders, Tasks, Subsets, or Representations can contain only letters, numbers, and underscores.

  11. Workfile: This is the source scene file an artist works in within their task. These are versioned scene files.

  12. Addon: AYON is a modular system build up of many addons. An addon can be almost any larger part of the software, providing integration with another software or a complete expansion of AYON itself.

  13. Host: This is a special kind of Addon providing deep integration with a third-party Software or Application. These are usually DCC applications like Maya, Houdini, or Nuke.

  14. Tool: This is a small piece of software usually dedicated to a particular purpose. Most of AYON tools have a GUI used directly by artists, but some are command line only.

  15. Publish: This is the process of exporting data from your work scene to a versioned, immutable file that can be used by other artists in the studio.

  16. (Publish) Instance: This is a single entry that defines a publish output within a workfile. Publish instances persist within the workfile.

  17. Load: This is the process of importing previously published Subsets into your current scene, using any of the AYON tools.

Here is an ASCII representation of the hierarchy:

AYON Project

├── Folder
│ └── Task
│ └── Workfile
│ └── (Publish) Instance
│ └── Publish
│ ├── Version
│ │ ├── Hero version
│ │ └── Representation
│ └── Load

├── Asset
│ └── Subset
│ ├── Variant
│ │ └── Version
│ │ ├── Hero version
│ │ └── Representation
│ └── Family

└── Addon
├── Host
└── Tool

This ASCII diagram shows the relationships between the different components of an AYON project. This is a simplification and may not capture every detail of the actual structure, but it should provide a good starting point for understanding the basic hierarchy.

~Dushyant Kashyap.

The names needing to be unique across the project was a requirement of Openpype due to using Mongodb and a flat hierarchy in the database.
Not sure unique names are required for AYON, but @milan @martin.wacker can weigh in here.

These are referred to as just “instance(s)”.
One term you might be missing from this is “container(s)” which are kinda like the opposite of instances, as they are was gets produced in the workfile when loading in content. Containers persist metadata in the workfile, which is used for updating and working with the loaded content.

Not just “importing” but “referencing” published Subsets in the workfile. “Importing” usually refers to a process of cutting any links with the subsets so updating cant be done. “Referencing” would be able to update the content, but its not a universally adopted terminology throughout AYON.

Asset is not part of the datamodel in AYON at all. That’s why Folder and Version are switchable and wrapped under AYON/OpenPype categories in the docs.

What used to be asset in OpenPype is now folder in AYON.

As Toke said. I’d just like to add that this is a highly technical term and should never need to be explained to and artist actually. It’s a Pyblish construct.

The hierarchy is not correct and I wonder what it’s supposed to represent. It’s mixing terms that are entity types (folder, subset, version, representation), with concepts (Instance, variant) and even processes (publish, load…). So they should never be attempted to put into a “hierarchy”.

Any chance a chatGPT tried to help you with this? It has that feel of “explain this to me in simplified fashion” :).

Great, thanks for your Ynputs and appreciation of my writing style :).

I always prefer graphical representation of Data flow, and that’s what I am trying to skim out of the jargons.