> For the complete documentation index, see [llms.txt](https://docs.incari.com/incari-studio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.incari.com/incari-studio/2022.2/objects-and-types/scene2d-objects/gui.md).

# GUI

A *GUI*, or graphical user interface, uses graphics to let a user interact with an interface. In **Incari**, there are several simple features which are available to create and edit in **Scene2Ds**. They are:

* [**Button**](#button)
* [**Dropdown**](#dropdown)
* [**Slider**](#slider)
* [**Text**](#text)
* [**Text Area**](#text-area)
* [**Toggle**](#toggle)

## Button

The **Button** **GUI** **Object** is a simple icon to attach **Logic** to. Its text, placement, and size can be altered in the **Attribute Editor**.

![Button.](/files/28dDpqsBAKxIUsnnPisV)

![Button with Text.](/files/vJW514wQKsdrnm79jjQ3)

## Dropdown

The **Dropdown** is a **GUI** **2D Object** that allows the user to create a *dropdown menu*. The options in the menu, together with the colors and size, can be customized in the **Attributes**.

The following is a simple example of a **Dropdown** with three options:

![Dropdown.](/files/yrPDjl0M9l7XzWX45RCn)

The `Options` **Attribute** defines the options in the **Dropdown**:

![Options Attributes.](/files/DQBtGdxbJEjNAt9IuDBY)

Finally, this **Dropdown** looks like this when the **Project** is run:

![Dropdown example.](/files/xctVpWMJF3pnVdO8K9Cy)

## Slider

The **Slider** is a **GUI** **2D Object** that allows the user to create a customizable slider selector. The customization is done through the **Attributes**.

![Slider.](/files/XdIqNIs8rqj6Z57Elwjq)

The **Slider Attributes** offer the user options to customize the **Slider**:

![Slider Attributes.](/files/Btlj0iikvuFMserEw4Co)

Finally, the **Slider** works like this when the **Project** is run:

![Slider example.](/files/R2CSefAh2c5mmPNibBap)

## Text

The **Text** **Object** allows the user to add text to their **Project**. It can be completely customized in the **Text Attributes**.

![Text.](/files/ReNjVRh6Qy9W1RMoCdJ4)

## Text Area

The **Text Area** **Object** allows the user to add text with a background to their **Project**. It can be completely customized in the **Text** and **Text Area Attributes**.

![Text Area.](/files/YdnmN8isb3qNELvMbpwi)

![Text Area Attributes.](/files/l8qF41geUWwK3zmTuyNm)

## Toggle

The **Toggle** **Object** is a **2D GUI Object** that has two states: checked or unchecked. Its initial state and colors can be customized in the **Attributes**.

![Toggle.](/files/lmIPoOHoCJ9EU9WD7BkC)

![Toggle example.](/files/HVM5tioL4OPlckrm4kXX)
