What a project is
A project is two things at once: a folder on your disk under Documents/iCity 2, and a record on Parametra whose id the folder carries. The folder holds your city, your theme and everything the cloud sent back. Nothing in it is hidden from you.
Two things at once
Press New Project on the launch screen, type a name and a description, then click Create. Two things happen at once.
A folder appears at Documents/iCity 2/<name> with a README.md in it, holding the name as a heading, your description, and the date. And, if you are signed in, the project is registered on Parametra, which issues an id. That id is written into project.json inside the folder, and it is the only thing that file ever holds.
Windows File Explorer at Documents/iCity 2/Harbour District with the address bar visible, showing exactly two files — README.md and project.json — and README.md opened in Notepad on top of it so its name heading, the typed description and the creation date all read. Capture on a project created while signed in, so project.json exists.
Create a project while signed out and you get the first half only: a folder and a README, and nothing else. That is a normal state, not a broken one — the footer shows you it happened, and the red flag below is how you finish the job later.
The folder is named after the project, with the characters Windows forbids in a folder name removed. If a folder of that name already exists, the new one gets a (2) suffix.
If you send a theme to the cloud with no project open, the addon creates one called Untitled (or Untitled (2), and so on) and the job’s results land there. It is not registered on Parametra until you name it or it claims an id. Renaming it later renames the folder and rewrites the README.
Inside the folder
A project that has been saved and dressed at least once looks like this on disk.
Documents/
iCity 2/
Harbour District/
README.md
project.json
city_state.v1.txt
assets.json
outputs.csv
outputs.usd
send/
dress/Windows File Explorer at Documents/iCity 2/Harbour District in Details view with hidden items shown and the address bar visible: README.md, project.json, city_state.v1.txt, assets.json, outputs.csv, outputs.usd and .icity2-checkout.json listed alongside the send/ and dress/ folders, with the Size column readable so outputs.usd stands out as the large one.
Each of those is written by a different part of the addon.
A brand-new project holds README.md, plus project.json if the server issued an id while you were creating it. The rest appear as they are produced: city_state.v1.txt the first time you save, assets.json and the outputs the first time a theme finishes.
The id, and the red flag in the footer
project.json is written only when the server issues an id. If it is missing, empty or unreadable, the project has no identity: it cannot be synced and it cannot be versioned.
The editor checks this at most every five seconds. If the current session still knows the id — you registered the project in this session, so it is mirrored in the scene — the file is rebuilt silently and a line goes to the log. If there is nothing to rebuild from, a red ! appears on the right of the footer, with the tooltip “This project cannot identify itself — click to fix it”.
Close crop of the iCity Editor footer, right-hand end, on an open project whose project.json has been deleted from disk: the red ! button visible and hovered so the tooltip 'This project cannot identify itself — click to fix it' is drawn beneath it.
Clicking it opens IDENTIFY PROJECT, which lists the projects on your account and offers two answers. They are opposites, and the addon will not guess between them.
The IDENTIFY PROJECT popup over the iCity Editor, on an account holding at least three registered projects so the list is populated and one row is highlighted as picked. Both answers in frame: the 'Upload as new' button and the 'Use this project' button.
- —Upload as new — create this project on the server under its current name. This is the answer for a project you made while signed out, which has never existed on the server.
- —Use this project — pick a project from the list and write its identity back into
project.json. This is the answer for a folder whoseproject.jsonwas lost, or whose name is already taken on your account.
Picking the wrong one either burns a duplicate name or commits versions into another project’s history, which is why the server refuses to resolve a name clash on its own: creating a project whose name is already on your account is refused, and the folder is left unregistered until you answer here. If your account has no projects yet, the dialog says so and points at Upload as new.
There is a second red !, in the left corner where the Sync button normally sits: “This project needs server access and you are not signed in — sync is paused. Click to sign in.” That one is about your sign-in, not the project’s identity, and clicking it starts the sign-in.
One project per Blender session
The active project belongs to the Blender session, not to the machine. Open two copies of Blender and each holds its own — what you create or open in one does not become active in the other.
The active project is stored on the scene, so it is saved inside the .blend. That does not make reopening the .blend reopen the project. Nothing opens on startup: no project is created and no city is restored, and the header reads Untitled until you start the engine or open a project. Loading a file that holds no project also clears the engine’s cached city, so a fresh file cannot start onto the last file’s city.
Close crop of the iCity Editor header immediately after opening Blender, with no project open and the engine stopped: the label reading 'Project: Untitled' together with the O (open project) and S (save) icon buttons next to it.
Getting your city back is Open Project — the O button in the header, which restores the saved city state from the folder before the engine starts. Your city is not your .blend; how iCity fits with Blender explains why in full.
The folder is yours
Nothing in the project folder is locked, hidden or held open. It is ordinary files in an ordinary folder under Documents, so copying it somewhere else is a backup, and you can put your own files in it.
A sync uploads everything in the folder except for a fixed list: project.json (the identity is the server’s and must not be pushed back), .icity2-checkout.json, Blender’s own .blend1 and .blend2 backups along with .tmp and .part files, any sub-folder whose name starts with a dot or a double underscore, and any single file over 200 MB, which is skipped with a line in Blender’s system console.
Closing a project clears the city from the scene and stops the engine. It does not touch the folder. The footer X asks first — Save & close writes the city into the folder and then clears it from the scene, Close without saving discards changes since the last save. The header X closes without saving. In every case the folder, and everything you had already saved into it, stays exactly where it was.
Save & close can decline. If the engine has never written a city state, you get “Nothing to save yet — the engine has not written a city state. The project stays open.” in the log rather than a dialog, and the project is left open. Start the engine, make a change, and save again.
The iCity Logs editor with 'Nothing to save yet — the engine has not written a city state. The project stays open.' as the last line of the stream, captured on a project where the engine has been started but nothing edited. Crop to the final four or five lines so their timestamps read.
Where saving fits
Three separate verbs act on a project, and they are easy to conflate. Saving writes the live city into the folder. Syncing uploads the folder to Parametra with a message. Versioning starts a numbered branch the project then continues on.
Blender’s own Ctrl+S is none of the three. It saves the .blend, which is a different file with different contents. Saving, syncing, versioning takes the three apart one at a time.
The Discord is fastest for anything scene-specific. Email suits licensing, billing and anything needing a file attached.
Contact support →