# Custom Menus

### Custom GUIs (`CustomGuis/*.yml`)

**Path:** `plugins/InfiniteGUI/CustomGuis/*.yml`

Each file defines a single GUI. You choose a name (filename can be anything, `mygui.yml` for example).

**Top-Level Keys:**

```yaml
codeid: mygui
rows: 3
type: chest
title: "&aMy GUI Title"
commandAlias: mygui
permission: myplugin.mygui.access
scenes:
```

* `id`: Unique identifier for this GUI. Used in `/gui open <id>` commands.
* `rows`: Number of rows (1-6) if `type: chest`. Ignored for other types (hopper, dropper, dispenser).
* `type`: GUI type. Supported: `chest`, `dispenser`, `dropper`, `hopper`.
* `title`: Displayed at the top of the inventory. Supports color codes and placeholders.
* `commandAlias`: Optional. If set, `/mygui` command is registered to open this GUI.
* `permission`: Optional. Players must have this permission to open the GUI via command or system menus.

<figure><img src="https://68941692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY5GIjG4eZ0A7OJ93YeYo%2Fuploads%2FHYx8n4ydmn9qJRnfkgh7%2FScreenshot_1.png?alt=media&#x26;token=c56b3602-21d8-49d4-9653-d9ebf14cfb54" alt=""><figcaption><p>Editing a Custom Menu</p></figcaption></figure>
