Skip to content

Undo in a shared project

Why Ctrl+Z can never revert a colleague's work, which stack it drives and how that is decided, what counts as one step, and what is not undoable at all.

All documentation — Working together
On this page

Undo in a project two people are editing has one question to answer before any other.

No, you cannot undo someone else’s change

Ever. And it is not a rule the app checks — it is a property of how the edits are recorded.

Every change you make is stamped with an origin that identifies you, and that stamp is local: it is never sent over the network. So a change arriving from a colleague does not carry your stamp, your undo stack only tracks changes that do, and their work is not in your stack to be undone.

There is nothing to configure and nothing that can be got wrong, because “only your own changes” is not enforced — it is the only thing that is possible.

Which undo you are driving

There is not one stack. There is the project’s, plus one for each open document or spreadsheet — because a document’s contents live in their own shared document, and a single undo history cannot span two of them.

Which one Ctrl+Z drives is decided by where your caret is, never by which section is open.

Your caret is inThe stack that responds
The canvasThe project
A field bound to project data — a code, a condition, an expression, a nameThe project
A rich-text field on a node or an entityThe project
A document bodyThat document
A spreadsheet cellThat spreadsheet
The entity gridThe project — it edits project data
A popover or menu opened from a documentThat document
A popover or menu opened from anywhere elseThe project
A search box, or the project-rename fieldNeither — those are not project edits
An AI prompt or chat boxNeither — that text is not project data
Nothing editableThe project

The buttons tell you which one you are about to use. The Undo and Redo controls in the header read Undo (Ctrl+Z) in this project, or Undo (Ctrl+Z) in “«document title»” when a document’s stack is active. Naming the scope is the feature; if the tooltip says something you did not expect, your caret is somewhere you did not expect.

How long a stack lives

A document’s stack does survive switching sections and opening other documents. Only closing its tab or reloading ends it.

What counts as one step

One press of Ctrl+Z undoes one gesture, however large it was.

  • Typing merges into a single step while you keep typing, and closes about half a second after you stop. Moving to another field ends the batch — and cannot, by itself, add a step.
  • Renaming a code that rewrites forty references across your boards is one press.
  • Deleting a folder with twelve children in it is one press.
  • Moving five nodes at once is one press.

And some things are not steps at all. Resizing the window, zooming the canvas, or the app measuring a node’s height adds nothing to the stack: a value the app measures is never something you undo.

What is not undoable

Not undoableWhy
Anyone else’s changesThe origin mechanism above
Importing a translation fileA bulk load. The recovery is re-importing.
Applying an AI translation batchSame shape, and a deliberate decision
Editing a translation in the Localization panelSame
Creating, replying to, or resolving a commentEach already has a one-click inverse. Deleting a thread or a message, and editing a message, are undoable.
Renaming the projectIt is a request to the server, not a project edit
The default board a new project starts withIt is seeded, not authored
Timestamps, mention indexes and other derived dataUndoing an invisible bookkeeping write would be a step that appears to do nothing
Anything at all, while the connection panel is upUndo is a write, and writes are blocked. See working at the same time.
Edits made before you are signed inThey still happen; they are simply not tracked

Limits

There is no depth cap. Neither stack is trimmed, and nothing prunes an old step — the only bound is the session, which is exactly what the History panel’s own footer tells you.

The typing merge window is about half a second. Nothing else here is configurable.

Written for
Writers · Unity developers · Advanced integrators
Last updated