# Occurrence Components

> The components that can be attached to occurrences in Asset Transformer Studio

![Components in Inspector](/api/media?file=/asset-transformer-studio/2026.5.0/media/STUDIO_ComponentFold.gif)

An occurrence can receive `components` to modulate its behavior (just like in [Unity](https://docs.unity3d.com/Manual/UsingComponents.html)).

An occurrence is by default an empty node that does not contain any geometry. It does not accomplish much by itself, but it acts as a container for `components`, which implement the real functionality.

## Accessing components

The components of the selected occurrence can be visualized in the [Inspector](../../user-interface/window/inspector) panel, in a dedicated widget called `Occurrence Components` (below the `Occurrence Properties` widget).

This widget lists one foldable row per component (`Part` row, `Light` row, etc.).

> **Note:**
>
> Components can be manipulated through the scripting API using functions like `getComponent`, `hasComponent`, `listComponents`… More information [here](../../working-with-asset-transformer-studio/scripting-with-the-python-api/script-in-python#components).

## Component types

There are multiple component types, and an occurrence can own a maximum of one of each component type.

| Component type | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Part**       | A [Part](../glossary#part) component contains geometry information (CAD, mesh, lines, UVs…). ![Part component](/api/media?file=/asset-transformer-studio/2026.5.0/media/NewItem453.png) To retrieve mesh definitions from a list of occurrences using the Python API, see [here](../../working-with-asset-transformer-studio/scripting-with-the-python-api/script-in-python#part).                                                                                                       |
| **PMI**        | An occurrence can have a `PMI` component, allowing to display [PMI](https://en.wikipedia.org/wiki/Product_and_manufacturing_information) information. PMI can be displayed from the **Variants** panel, where all scene PMI and views are listed. See also [Variants and PMI](../../user-interface/window/variants-and-pmi).                                                                                                                                                             |
| **Light**      | An occurrence with a **Light** component stores a light object, which can be used to modify the lighting of the scene. Available light objects are: `Directional light`, `Point light` and `Spot light`.                                                                                                                                                                                                                                                                                 |
| **Metadata**   | An occurrence can have a **Metadata** component that stores [Metadata](../glossary#metadata) information, which is a list of basic key/value pairs, called **metadata properties**, retrieved when importing a file. ![Metadata component](/api/media?file=/asset-transformer-studio/2026.5.0/media/NewItem452.png) You can add/modify/delete metadata through the API: see [here](../../working-with-asset-transformer-studio/scripting-with-the-python-api/script-in-python#metadata). |
| **Variant**    | An occurrence can have a **Variant** component, which links the occurrence to the variants that use this occurrence. See also [Variants and PMI](../../user-interface/window/variants-and-pmi).                                                                                                                                                                                                                                                                                          |
| **Animation**  | An occurrence can have an **Animation** component, which stores the position information in time of this occurrence for a given animation clip. See also [About Animation](../about-animation).                                                                                                                                                                                                                                                                                          |
| **Joint**      | An occurrence can have a **Joint** component, which links animation attributes stored in a mesh with a Joint from a skeleton. See also [About Animation](../about-animation).                                                                                                                                                                                                                                                                                                            |
