# Group

![Example of a 2D Group in Incari](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-d413359dd6da08d6ca7324df6aba110bf61198fb%2Fgroup2dimage120232.png?alt=media)

This page will describe **Groups** in **Scene2Ds**. The **Group** **Object** works like a folder, as it allows the user to structure and organize **Objects**, making **Scenes** with high amounts of different **Objects** more manageable. It is one of the only **Objects** in **Scene2Ds** which can be a *parent*, besides [**Frames**](https://docs.incari.com/incari-studio/2023.2/objects-and-types/scene2d-objects/frame) and [**Boolean Operations**](https://docs.incari.com/incari-studio/2023.2/objects-and-types/scene2d-objects/figma/figmabooleanoperation).

To jump ahead to a section, refer to the table of contents below:

* [Create](https://github.com/cgi-studio-gmbh/incari-doc/blob/2023.2/objects-and-types/scene2d-objects/group.md#create)
* [Delete](https://github.com/cgi-studio-gmbh/incari-doc/blob/2023.2/objects-and-types/scene2d-objects/group.md#delete)
* [Transformation](https://github.com/cgi-studio-gmbh/incari-doc/blob/2023.2/objects-and-types/scene2d-objects/group.md#transformations)

## Create

There are a couple of ways to create **Groups**.

* Locate the drop-down Menu by clicking the plus-sign in the **Scene Outliner**. Then click **Group** and add any other **Objects** to it.

![Creating Groups with the Drop-Down Menu.](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-ef02ccb04ce8299b28fa0bcdea9ab593a93b2767%2Fgroup2dimage220232real.gif?alt=media)

* Select multiple **Objects** and right-click on `Create`. Select **Group**.

![Creating Groups from Multiple Objects.](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-398c64e9426dea831e7eac7f50353da241d94e59%2Fgroup2dimage320232.gif?alt=media)

* Right-click inside the **Scene** **Outliner**, select `Create` from the pop-up, and click on **Group**. Now **Objects** can be added one-by-one.

![Creating a Group and Adding Objects.](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-845cac3fe123cedd1358dc7d8fc1149f7a3528fc%2Fgroup2dimage420232.gif?alt=media)

## Delete

A **Group** can be deleted in its entirety or one **Object** at a time.

* To delete a **Group**, right-click the **Group** and select `Delete`.
* To delete one **Object** in a **Group**, simply right-click on that particular **Object** and select `Delete`.

![Deleting a Group or Part of a Group.](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-d0e4f13268bcf95259863e0b1db3c18187d99595%2Fgroup2dimage520232.gif?alt=media)

## Transformations

A useful function of the **Group** **Object** is that it allows you to transform multiple **Objects** relative to a single **Pivot Point**, as if they were a single **Object**.

Like any other **Scene Object**, we can manipulate its [**Transformation Attributes**](https://docs.incari.com/incari-studio/2023.2/objects-and-types/attributes/common-attributes/transformation), albeit only in the X and Y directions.

![Transformations with a Group Object.](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-5b28d9511e0ca8e22f3dac4456efadc56f9391f9%2Fgroup2dimage620232.gif?alt=media)

## Attributes

### Transformation

![Transformation Attributes.](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-2c61d9a83c0cb34306d8df159bfa7da93c0f0bd8%2Fbuttonattstransformation.png?alt=media)

The `Transformation` **Attributes** deal with placement, rotation, and size in *XY* space. More information can be found [here](https://docs.incari.com/incari-studio/2023.2/objects-and-types/attributes/common-attributes/transformation).

### Mask

A **Mask** is an **Object** that shows a certain area of another **Object** while concealing the rest. Any **Object** (e.g., an **Ellipse**, **Rectangle**, **Frame**, **Group**, or **Text**) can be used as a **Mask**.

For easier visualization, think of the **Mask** as a cookie cutter while the masked **Object** is the dough: the cookie cutter shows only a part and discards the rest.

![Mask Attributes.](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-3522d2bf131b5d03d6f9dff4d1c31b27f52c646f%2Ffigmamaskattsreal.png?alt=media)

The `Type` **Attribute** has three options:

* `None` - nothing is applied.
* `Alpha` - the **Mask** has an opacity level (alpha channel) determining with which level of opacity (or transparency) the masked **Object** is revealed: 0% opacity reveals nothing, 100% opacity is equivalent to a **Mask** with `Vector` type.
* `Vector` - only modifies the shape outline of the masked **Object**
* `Luminance` - allows the user to utilize brightness to determine the effect of the **Mask**; the brighter the area of a **Mask**, the more that is revealed and the darker the area, the less that is revealed.

`Object` allows the user to select what should be the masked **Object**.

`Apply Mask` is a toggle that applies the **Mask** when set to on, and disables the **Mask** when set to off.

### Style

![Style Attributes.](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-71d3167ef59cd13da13e9aa0154b02a0bc1106e6%2Fframestyleatts.png?alt=media)

The `Style` **Attributes** allow for more customizability. This can override any stylesheet provided in the [**Project Settings**](https://docs.incari.com/incari-studio/2023.2/modules/project-settings/style) or a [**Scene2D**](https://docs.incari.com/incari-studio/2023.2/objects-and-types/project-objects/scene2d).

To address these in the **Logic**, please refer to the [**Object 2D Nodes**](https://docs.incari.com/incari-studio/2023.2/toolbox/incari/object2d).

* `CSS Classes` contain the *CSS* class names of the **Object**.
* `Stylesheet` contains the *CSS* stylesheet of the **Object**.

### Tag

![Tag Attributes.](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-dc4f375e34ce9bdd2bebc3e93ff34c8680ab55bb%2Fbuttonattstag.png?alt=media)

This **Attribute** manages the *tags* for the **Button**. See more on *tags* [here.](https://docs.incari.com/incari-studio/2023.2/objects-and-types/attributes/common-attributes/tag)
