> For the complete documentation index, see [llms.txt](https://docs.myarc.icu/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.myarc.icu/en/feature-configuration/editor.md).

# Visual editor

Writing YAML gives you exact control over every setting, but adjusting layouts, aligning text, and placing interactive regions is often much easier when you can see your changes as you make them. ArcMenu Editor is a client-side Fabric mod that surrounds a live 16:9 game viewport with toolbars, an element tree, an asset library, and a property inspector. You can drag elements, restyle components, and configure click actions directly on the menu rendered by the server.

## Installation and opening

Download the client mod from [ArcMenu Editor releases](https://github.com/FENTAIIII/ArcMenu-Editor/releases). Each Minecraft version has its own build, so pick the JAR whose filename carries the `mc` tag matching your client, and install Fabric Loader along with the matching Fabric API. Keep only a single ArcMenu Editor JAR in your `mods` folder. If you see a version or protocol prompt in game, update both the server plugin and the client Editor mod to the latest release.

With the `arcmenu.admin` permission, stand on solid ground in game and run the edit command to open the workspace:

```
/arcmenu edit main
```

To create a new menu from scratch, or to duplicate an existing menu as a starting point, add the `create` argument:

```
/arcmenu edit new-menu create
/arcmenu edit new-menu create main
```

You can also run `/arcmenu projects` to open the [Project manager](/en/feature-configuration/projects.md), where you can create, search, and open menus from a graphical interface.

## Workspace layout and basic controls

The editor workspace is organized into five main areas:

* **Top bar and toolbar**: Switch to the pointer tool, or create text (`text`), rectangles (`rect`), borders (`border`), lines (`line`), images (`image`), animated GIFs (`gif`), items (`item`), blocks (`block`), and groups (`group`).
* **Left element tree**: Shows every node in the current hierarchy. Click to select, double-click or right-click to rename, drag up and down to reorder, duplicate or delete nodes, and drag elements into or out of groups.
* **Center 16:9 game viewport**: Displays the live menu. Click elements directly in the viewport to select them, drag to move them, or pull their handles to resize.
* **Bottom asset and template panel**: Displays reusable group templates by default. When you select the **Image** tool on the toolbar, this panel switches to the image library, organizing resource pack textures by folder and showing their pixel dimensions. Double-click an image or click Add to insert it onto the canvas (internal cursor and tooltip textures are hidden automatically). Select the **Pointer** tool to return to the template library.
* **Right property panel**: Fine-tune the selected element's coordinates, rotation, scale, text content, colors, materials, and interaction logic.

The editor supports marquee selection, multi-select, copy and paste, and full undo and redo history.

## Menu previews and Vision mode

When previewing frontend visuals, backend hotzones, and project thumbnails in the editor, menus are drawn through a dedicated rendering pass. The view maintains a fixed projection and bright UI lighting, prevents world blocks or entities from occluding the menu, and stays crisp and clean even when shader packs are enabled. Throughout editing, you use your native operating system cursor to interact with both the viewport and the surrounding panels.

The same ArcMenu Editor mod also provides the Vision input mode for regular players. Players with the mod installed do not need administrator permissions; they can run `/arcmenu mode vision` in game to switch to a native hardware cursor and dedicated rendering view, enjoying zero-latency pointer movement and native IME text input. See [Touch, Mouse and Vision input](/en/feature-configuration/input-modes.md) for details on configuring input modes.

## Frontend visuals and backend hotzones

Every menu consists of the visual elements players see and the interactive regions they click. Use the **Frontend** and **Backend** tabs at the top of the editor to switch between these two layers:

* **Frontend**: Manages all visual elements and nested groups. You can bundle a background, icon, and title into a single `group`, save that group in the element tree as a reusable template, and drop it into other menus whenever you need it. For supported properties and valid values, see [Frontend element types](/en/menu-configuration/menus/frontend.md) and [Groups and reusable templates](/en/menu-configuration/menus/groups-templates.md).
* **Backend**: Defines click and hover regions. In the Backend view, draw rectangular or polygonal hotzones directly over the canvas, then use the right property panel to configure action lists for left-click, right-click, pointer enter (`on-hover`), and pointer leave (`on-leave`). For details on configuring regions, see [Backend regions and click events](/en/menu-configuration/menus/backend.md).

In the canvas settings, you can set `depth-mode` to `perspective` (the default 3D perspective depth) or `layered` (flat layered depth). Choosing `layered` is especially handy when you want multiple flat layers to stack strictly by their `z` values while keeping their front-facing alignment identical. Learn how this works in [Canvas, coordinates and screen position](/en/menu-configuration/menus/canvas.md).

## Saving and automatic backups

Changes made in the editor are kept in your current working draft until you save. Click **Save** or press `Ctrl+S` to write the draft to the server's menu YAML file and immediately refresh the loaded menu definition in memory. Before overwriting the file, ArcMenu automatically backs up the previous menu file in `plugins/ArcMenu/backup-menu/`.

If you added new local images, GIFs, or audio files during your session, rebuild and distribute your resource pack following the steps in [Images and resource packs](/en/feature-configuration/resource-packs.md) so players can see the new assets. If an external program edits the YAML file on disk while you have the menu open, simply reopen the menu in the editor to load the latest file contents.

## Transfer size limits

The editor and server synchronize menu drafts and project snapshots over the network protocol, subject to the following single-sync payload limits:

| Limit item                   | Maximum size            | How it is calculated                                                        |
| ---------------------------- | ----------------------- | --------------------------------------------------------------------------- |
| Single protocol string field | 262,144 bytes (256 KiB) | Byte count after UTF-8 encoding.                                            |
| Complete logical packet      | 1,048,576 bytes (1 MiB) | Combined byte count of all fields and protocol structures in a single sync. |

Standard ASCII letters and digits take 1 byte each, while common CJK characters take 3 bytes. Because an entire action block in the right property panel is transmitted as a single string field, any edit that exceeds the limit triggers a notice showing the exact field path, current byte count, and maximum allowed size. The oversized edit is blocked before writing, leaving your existing draft and undo history intact.

## Cutscenes and AI-assisted creation (MCP)

Beyond interactive menus, ArcMenu Editor includes a dedicated cutscene workspace and an AI assistant interface:

* **Effect cutscenes**: Run `/arcmenu editeffect <project-id>` to open an animation workspace equipped with a multi-track timeline, keyframes, a curve editor, and local waveform audio previews. See [Effect cutscenes](/en/feature-configuration/effect.md) for the full guide.
* **AI connection (MCP)**: Click the **MCP** button in the editor's top title bar to copy your local HTTP MCP connection configuration to the clipboard (defaulting to `http://127.0.0.1:18766/mcp` with an auto-generated authentication token stored in `config/arcmenu-editor-mcp.properties` on the client). Paste this configuration into any MCP-compatible AI client, and the AI can capture live viewport screenshots, inspect node properties, create elements, write interaction actions, keyframe animations, and manage projects alongside you.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.myarc.icu/en/feature-configuration/editor.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
