# Projects and saving

> Where Envy keeps your work: drafts on your computer, .envy.json files that save as you edit, version history, and renaming or deleting projects.

Source: https://envyui.com/docs/projects

Envy keeps a draft of every project on your computer as you work. Save a project as a `.envy.json` file to keep it in your game's repository, and use version history to go back to an earlier state.

## The Projects page

**Projects** (G P) lists your work:

- **Recent files**: files you opened or saved lately, with their paths. **Remove** takes one off the list and leaves the file on disk.
- **Drafts and recent projects**: every project kept on this computer, newest first. Each card shows a picture of the project's first screen from when you last closed it, its screen and component counts and when you last opened it. The open project is drawn live and marked **Open**.
- **Templates** and **Showcase projects**, to start something new.

**New project** opens the templates: the Envy Starter Pack, the Game UI kit, or a blank 1920 × 1080 or 1080 × 1920 screen. The open project stays where it is. If it has edits that aren't in a file yet, Envy asks you to save them first.

### Rename, duplicate or delete a project

Each project card has a **⋯** button, and a right-click opens the same menu:

| Item | What it does |
|---|---|
| **Open** | Opens the project. On the open project it reads **Go to the canvas** |
| **Rename…** | Changes the project's name. The name is the base of every exported file name, so game code that uses the generated names has to follow |
| **Duplicate** | Keeps a copy named "*name* (copy)" next to it. The original stays open |
| **Delete…** | Removes the draft, its snapshots and its saved versions from this computer. It can't be undone |

Before it deletes, Envy says whether the project has edits that are in no file, and offers **Save a copy first…**. A linked file stays on disk. You can't delete the open project: open another one first.

The open project's own menu (its initials in the rail, or the name in the sidebar) also has **Project settings…** and **Duplicate project**. Project settings hold the name and a description, which opens AGENTS.md in the [AI handoff package](/docs/handoff#the-ai-handoff-package).

## Saving to a file

A new project is a draft: the save chip above the canvas reads **Draft · not in a file**.

1. Press **Ctrl S**. A save dialog asks where to put the `.envy.json` file.
2. From then on the project is linked to that file. Envy writes every change to it as you work, and the save chip shows the file's name.

**Auto-save to linked file** in the File menu turns the writing on and off. With it off, **Ctrl S** writes the file. **Unlink file** ends the link: the project is a draft again, and the file stays on disk.

To keep the file in your game's repository, save it inside the Godot project, for example in `ui/`. Godot reloads the running game when the file changes (see [Live reload](/docs/godot#live-reload)).

The File menu is in the Envy menu (the logo at the top of the rail) and in the project menu. It also has:

| Item | What it does |
|---|---|
| **Save as…** (Ctrl Shift S) | Saves to a new file and links the project to it |
| **Save a copy (.envy)…** | Writes a `.envy` project: a zip with the document and its images and fonts as separate files. See [Project files](/docs/format#project-files) |
| **Open…** (Ctrl O) | Opens a `.envy.json` file linked, so saves go back to it. A `.envy` project is imported |
| **Import a copy (.envy, .envy.json)…** | Opens a file as a new project that isn't linked to the file |
| **Import SVG as layers…** | Adds an SVG as frames and shapes, centered in the selected frame or the screen |

### The save chip

| The chip says | Meaning |
|---|---|
| **Draft · not in a file** | The draft is kept on this computer. Press Ctrl S to save a file |
| **Saved** | Every change is in the linked file |
| **Unsaved** | Edits aren't written to the linked file yet. Press Ctrl S |
| **Saving…** | A write is under way |
| **Write failed** | The linked file couldn't be written. Ctrl S tries again |
| **Save failed** | The draft couldn't be stored. Envy retries by itself |
| **Autosave off** | Envy can't store drafts on this computer, found when it started. Nothing is lost yet |

Click the chip for its menu: save, the state of the draft, and **Version history…**. When saving fails, see [Troubleshooting](/docs/troubleshooting#the-save-chip-says-autosave-off-or-save-failed).

### When the file changes outside Envy

Envy looks at the linked file when the project opens and when its window comes back to the front. If the file changed and you have no edits of your own, Envy loads the file's content in place. If you have edits, Envy keeps them, writes nothing over the file and offers two choices in the save chip's menu:

- **Reload from file**: the file's content replaces yours. Your version stays in version history.
- **Keep mine**: your version is written over the file.

## Opening files

- **Open file…** on the Projects page, **Ctrl O**, or a file under **Recent files** opens a `.envy.json` linked. A `.envy` project is imported.
- Drop a `.envy.json` or `.envy` file on the window to import it.
- In File Explorer, right-click a `.envy.json` or `.envy` file, choose **Open with** and pick `Envy.exe`. If Envy is already running, the file opens in that window.

An import checks the file first, then asks how to open it: as a **New project**, or **Replace** the open project. Replace keeps the open project's content as "*name* (before import)" in Projects.

## Version history

Open **Version history…** from the save chip or the command menu (Ctrl K).

- Autosave keeps a snapshot every five minutes of editing, and the five newest stay.
- **Save version** keeps a savepoint for good, with an optional name of up to 60 characters. A project keeps up to 30 savepoints. Rename or delete them in the list.
- Click a version to see its first screen and what changed since then.
- **Restore** puts a version in place of the open project. What was open becomes a savepoint named "Before restore", and Undo brings it back.
- **Open as a copy** opens a version as a new project and leaves the open one as it is.

Each project keeps its own snapshots and savepoints.

## Closing Envy

Closing the window waits for the draft and the linked file to be written. If something can't be saved, the window stays open and says why. Close it again within 15 seconds to quit anyway, which loses the unsaved edits.
