Skip to content

How a field is shown

Every per-field setting beyond its type — label, reading, styles, grid placement, box, thumbnails, tint, visibility, the node dialog and placeholders.

All documentation — The node builder
On this page

Every setting on this page lives on one field, in that field’s inspector inside the builder. Together they decide how the card is drawn: where the field sits, what its label and value look like, when it is visible, and where it is edited.

They change the card and nothing else. A node’s stored values are the same whether a number is drawn as a meter or a row, and a game receives the same data either way. Three settings on this page are the exception, and each is called out where it appears: Use as this node’s name, Translatable and Spoken aloud tell other parts of the product what a field means, not how it looks.

The field’s Type, its Code and its type-specific options (range, formats, sources, display variants) are on the field types page. What surrounds a field on the card — columns, rows, dividers, the header band — is on the appearance page.

The field inspector

Select a field — in the Structure tree in the drawer, or by clicking it on the preview card — and the inspector in the type’s tab shows it, headed with the field’s label, in four groups, top to bottom:

GroupWhat is in it
Type & codeAn icon button and the label; the Type tiles — every type, in a grid; Code; Use as this node’s name
Type settingsPlaceholder, Hint, then every type-specific option — Multiline, Formats, Allow decimals, Source, Display, Translatable, Spoken aloud, the heights and Inset… — see the field types page
Where & whenSpan and Rows; Show when and Editable when; Editing; Also in the node dialog, Hide when empty, Hide on the node
LookShow label, Show border, BG, Value align, Shown as, Big empty state; then Label style (once the label is shown) and Value style, each a collapsed group

A field inside a repeater block or a row opens the same way, with its container named on the inspector’s first line — Outcomes › Result.

Everything autosaves on commit — a text box on blur or Enter, a switch or menu immediately. There is no Save button; Ctrl+Z in the workspace is the way back.

Label and icon

SettingWhat it doesValuesDefaultOnly applies when
Show labelDraws the field’s label above (or beside) its valueon / offThe type’s Show field labels setting — off on a type made from blank, so the card shows placeholders until you turn either onAlways offered
The icon button (Field label icon)A small icon drawn in front of the label text; also the glyph of a Big empty stateAny icon from the picker, or an uploaded SVG; Clear icon removes itnoneThe icon is part of the label, so it shows only while the label shows — or in the big empty state
Label styleTypography and geometry of the label — the table belowThe label is shown

The Label style box:

ControlValuesDefaultNotes
Position: Above / Inlinelabel above the value, or to its left on one lineAboveInline is the ledger look: if beside its condition
Alignmentleft / centre / rightleft
Emphasis: Bold, Italic, Underline, Strikethroughany combinationnone
Size8 to 48 px12The box clamps what you type to that range
Typeface: Sans / MonoSansMono makes a label beside an expression read as code rather than as a form field
Indent0 to 40 px0Space inside the label box, before the text
Width0 to 200 pxfits the textA fixed width is what lines several inline labels up into a column; the label neither grows nor shrinks from it
Colorany colour; a clear button removes itthe theme’s secondary text colour

Turning Show label off does not remove the label from the type — the builder still names the field by it — it only stops drawing it. While the label is off, the Placeholder is the only thing that names the field on the card, and only while the field is empty.

Shown as

Shown as changes how a value is drawn at rest — the same field can be a boxed control, a bare word, a pill, a headline, a bar, a portrait. The menu offers only the ways legal for the field’s type, and its first entry always names what the card draws when the field says nothing: Control · default on an ordinary card, Word · default (or Pill, Chips, Swatch) on a field that sits in a List, a Table or a Strip — those three ways of the Style group read values as words and pills, and that is where the default comes from. Pick a way to fix it; pick the first entry to follow the region again. One drawing is not here because it is not a field’s: several Number fields drawn together as one shape is a radar, an item of the type.

Shown asLegal onWhat it drawsNeeds
Controlevery typeThe ordinary control — a box for a text, a chevron for a select, a chip for a reference
WordText, Number, Vector3, Select, Date, TimeThe value as bare text: no box, no chevron; a dash when empty. A number with a Unit (the field’s Unit setting — s, h) prints the unit after it (20 s) wherever its label is not shown beside it, and a drawn label carries it in brackets (After (s)), so the unit is always where the number is; not after the value in a table (the column’s head says it) nor a sentence (the template does). Brackets typed into a label are never read as a unit
PillText, Select, Code, Condition, TimeThe value as a small code pill in the mono face — a picked option, a condition, a piece of code, an identifier-like text
In wordsConditionThe condition read as a sentence: Ryn.hacking >= 3 reads [Ryn Zhao] hacking at least [3], carrying(chip) reads carrying [chip], hasKey && !alarm reads [hasKey] and not [alarm]. A name that is an entity’s code is drawn as that entity’s face and name; any other name as it is written, in a small pill; a number or a text as a pill. A condition that is not a simple run of terms joined by one and or one or — a not over a comparison, arithmetic, and mixed with or — is printed as written. A condition with an error keeps its words and is underlined in red, the error on hover
StatNumber, Text, Select, DateThe value at title size, with the label as a small caption above it — and the field’s icon, when it has one, leading the valueA value — an empty stat keeps the caption and shows the field’s placeholder (or a dash) at the same height
MeterNumberA bar filled to the value’s share of the range, with value/max beside it. A range that straddles zero draws a two-colour track with a knob and the signed value alone. The Ends words, when set, sit either side of the trackA Range with both ends set, and max above min
GaugeNumberA half-circle dial: the track, the value swept over it in the type’s colour, a needle, the number under the pivot and the range’s two ends at the dial’s feet. The Danger from value, when set, paints a thin red band from it to the nearer end of the range, and a value inside the band turns the sweep and the number redA Range with both ends set, and max above min
RingNumberA count out of a total as a ring, the number inside it and /max beside — 3/8; full, it turns green. The same ring an entity view draws for a definition’s fieldA Range max above the min (the min is the ring’s zero, 0 when blank)
PipsNumberOne dot per unit of the range: filled up to the value, hollow after itA Range max between 1 and 10
ClockTimeA clock face with its hour and minute hands, the digits beside it, and the part of day as a small word when it is not daytime — the face tinted by it, amber at dusk, dark at nightA value that is a time, or none — a stray spelling prints as typed
BadgeSelectThe chosen option’s own pill, in the option’s colourA single-value select with a matching option — a multi-value select already draws pills
ChipsSelect (multiple), every reference, entities with countsThe reference chips — or the multi-select’s pills — with their box gone; the name and its small thumb are the value. On entities with counts, each line is its record’s chip, the count after the name only past one (Grip Tape, Draw ×3); one the project no longer has reads Missing item
State dotBooleanA dot in the type’s colour, filled when on and a hollow ring of the same size when off, followed by the on/off label
Tick boxBooleanThe checklist’s square alone — ticked in the type’s colour when on, no label word (the on/off labels show on hover). One click flips it, like every yes/no on a card. What a repeater drawn as a Checklist gives its block’s yes/no
ProseTextThe text as a flowing paragraph in the type’s prose face, never clipped
Display lineTextThe text on the type’s prose face at title size, clipped to two lines, no box
ChecklistEntity (multiple)One row per referenced record with a tick: the tick is that record’s own first yes/no field (an objective’s done, a task’s finished), the record’s name beside it — struck when ticked — and k / n above the list. The card reads the ticks; they are set on the records. Any records with a yes/no on them list this way; nothing here is a quest. The total can be a number of the node’s: a Counts against row beside Shown as names one of the type’s number fields (a Need), and k / n then counts against its value — the things listed are the ones that count, how many are enough is its own decision (0 / 3 over five fuses). For ticks that are the node’s own, draw a repeater as a Checklist insteadA multi-value reference
CueEntityA screenplay cue: the entity’s name in caps, its definition’s name as a small line under it in the type’s colour
Name onlyEntity, AssetThe chip’s name alone, its picture gone — SPEAKS · Lena on a strip whose face is drawn elsewhere on the card. The other half of the Display › Thumbnails style, which draws the picture alone
AvatarEntity, AssetThe chip with its picture round — a face beside a name. With Display › Thumbnails it is the round face alone. A picture field shown as an avatar can borrow a face, exactly as a Portrait can: the Face of row beside Shown as names one of the type’s entity fields, and the avatar then always draws that entity’s own picture — clicking the face opens that entity’s picker, and a character dropped on the face sets that entity, so the face and the entity cannot be picked apart. Such a face stores no picture of its own: it is not in the node’s dialog, the assistant cannot fill it, and play mode, Unity and Unreal see only the entity — a picture a node held there before the link is ignored everywhere. The Speaks card’s face beside its line is its speaker’s. A face with no picture — nobody picked, or someone with no portrait — draws as a hollow ring the size of the face, so picking a picture moves nothing
Picture and nameEntity, AssetA picture row: the picture as a square tile, the name beside it, and for an entity its definition’s name on a small line under the name — a door on a Barrier, Cryo-bay hatch over Door. In a list it takes the whole row; turn Show label off for the row to read as the picture alone. Empty draws the tile hollow with the placeholder beside it, so picking a record moves nothing. A multi-value field draws its first. A Picture row beside Shown as cuts the picture: Tile (the square above, the default) or Banner — the picture as a wide strip across the card, the name laid over its foot (the premade Barrier)Only on the card itself — its grid, a list, the header band or a repeater block; every way that draws rows (a table, a strip, chips, cards, bubbles, an outcome row, a truth table, a quiz, a track, a checklist, a screenplay, slides, a sentence) withholds it
PortraitEntity, AssetThe picture cropped to a portrait and kept on the face by the picture’s focal point (set by a click on the picture in its media tab; absent, the crop sits centre-top). As the body’s first full-width field it is the card’s head: edge to edge at the top of the card, fading into the card’s colour at its foot. Anywhere else it is an ordinary cell, inset like its neighbours. Empty draws the same frame hollow, so picking a picture moves nothing. A picture field can borrow a face: a When empty row beside Shown as names one of the type’s entity fields (a Speaker), and while no picture is picked the frame draws that entity’s own picture instead — one pick for the ordinary line, a picture only for the line that wants a different face. A picked picture always wins; with nobody picked in the named field either, the frame stays hollow
ViewEntityThe entity’s whole record, drawn through one of its definition’s saved views — the layouts built in the definition’s composer: its sections and rows as boxes, its fields as the ways in this table (a hull stat on the record is the entity’s own field, drawn by the entity’s own layout). The record reads in the card’s language: a Hero band that opens the view is the card’s head — the item’s picture edge to edge, the name and Definition · description on its foot — a grid of stats (stat or pips) is one boxed strip, and the record’s pills wear the card’s colour. Read-only on the card: a click on the record’s banner, header or title picks a different item (a click on its content — a checklist row, a stat — does nothing, so a tick never reads as a pick); rest the pointer on the node and an open button appears at the record’s corner — that is what opens the item. On a node pinned to a height shorter than the record, the record scrolls and the exits stay on the card’s floor. A View row under Shown as says which view; Default is the definition’s own default view. A Picture row beside it cuts the record’s hero as the head — Tall (the picture nearly square, the name plate on its foot — a dossier) or Banner (a wide strip about the picture’s focal point, the definition’s word above the name inside it — a journal); the cut is this field’s, not the view’s, so one record can head a tall card and a short one. While the board previews a translation, the record’s text and prose read in that language, as its description does; a field with no translation reads in the main language. A multi-value field draws its first itemA definition with at least one saved view — without one the card draws the item’s name and says so
MapAssetThe picture at its own proportions, filling the width, with the node’s places drawn on it: one numbered pin per Position field on the type (a repeater’s rows count one each, in order), one dashed box per Area, and the doors — a pill with a word and a dot, the dot being the port. A spot that names a record is a face: a row whose block also has an Entity field draws that entity’s picture at the point, round and pin-sized, in place of the teardrop — its number in a small badge at the top-left and, when the block also has a Number, that number as a count badge (×3) at the bottom-right; the face is the block’s first Entity, the count its first Number, and a record with no picture draws the placeholder in the round frame. A face is numbered with the pins, dragged and opened like one. A door is a row: a repeater whose block has a Position on this picture and an exit handle draws every row as a door, the row’s first text the pill’s word (its placeholder until one is typed — the word is typed in the row’s card, opened by a double-click on the pill), the row’s block port the dot; a fresh row sits down the picture’s right edge until dragged. A type-level exit handle that is Placed on the picture draws the same pill, for a door every node of the type shares. Pins, boxes and doors are dragged on the picture; a wire dragged from a door’s dot leaves on the side that half of the picture faces, and the wire’s condition prints on the door as a code pill. Places are added on the picture itself: a double-click on an empty part adds a row to the first repeater with a Position on this picture, pinned at that point; a Shift-drag on an empty part adds a row to the first repeater with an Area, with those bounds — each one edit, undone with Ctrl+Z. A plain drag on the picture moves the node, as on any node. Because the picture is that surface, a click on it does not open the media picker: the picture is picked from the hollow frame while the map is empty (click anywhere on it), changed from the badge at its top-right corner (shown while the node is selected), or replaced by dropping a media file on it. As the body’s first full-width field it is the card’s head, edge to edge above the header strip, and a legend — number, then the row’s first text, and for a face the record’s name and its count as a small suffix — runs under the strip. Every pin, face and zone is listed, the name alone, and the block’s second text is the row’s caption, printed under the name on its legend line when the block has one; a door is not listed, its pill being its word. A Legend row beside Shown as seats the list — Below (under the strip, the lines wrapping — or one per line once the rows carry a caption) or Beside (a column to the picture’s right, the picture narrowed to make room, each place on its own line with its caption under the name). A repeater whose rows are on the picture draws nothing in the body: its Add is one word on the adds line under the legend (+ Add spot · + Add zone · + Add door), the picture shows the rows, and each row’s fields — a spot’s name, a door’s word, and the place itself as exact x y (w h) numbers — are edited in the row’s card, a double-click on the pin, the box or the pill, which also carries the row’s remove. Empty draws the hollow frame with Pick a picture in it, so the doors still have a place. A repeater on the picture has knobs of its own — Legend shows (block fields whose values sit on a line under the name in the legend), Mark (Pin · Square · Diamond · Link, the last an arrow between two place fields of the block), Path (the pins joined in row order) and Group by (a row of tabs over the legend filtering the marks) — on the repeater’s inspector, drawn as Appearance saysA picture with stored dimensions; without them the frame is square
SwatchColorThe colour’s square alone, the hex text goneA valid hex colour
Colour bandColorA full-width band of the colourA valid hex colour
LedgerCodeThe script as what it changes: a stamp per statement — +40 credits, −20 health, = true alarm, a command call as its name. The script stays the truth; a click opens the row’s card, where it is edited as statement rowsA script (not a single expression)
SlotsEntities with countsA tile per line — the item’s picture with ×n in its corner, hollow for an item with no picture, red for one the project no longer has; the lines in your order, a repeated item repeated. The default look; a click on a repeater row opens the row’s card, and a node-level field is a chest edited in place — see Entities with counts
SentencesEntities with countsWhat the lines’ records say: each record’s description with the line’s count filled in, the sentences in your order on one flowing line. In a description, {n} is the count and {n|card|cards} picks the first word when the count is 1 and the second otherwise — Lose {n} HP. and Draw {n} {n|card|cards}. with counts 6 and 1 read Lose 6 HP. Draw 1 card. Any other brace prints as written. A record with no description reads as its name and count (Grip Tape ×2, the name alone for 1); one the project no longer has reads Missing item, greyed. Empty shows the placeholder. The description is read in the language the board is showing. A click opens the row’s card on a repeater row, and the field’s own card at node levelNot in a table, a strip, a chip, an outcome row, a truth table, a track, a checklist or a sentence

Six things follow from that table:

  • An empty field still draws its way. A meter with no value is its track with a dash where the number goes, pips are all hollow, a gauge is its dial and danger band with no needle, a ring is its track over —/8, a clock a face with no hands and --:--, a badge a dashed placeholder pill, a stat its caption over a dash. The card has its shape from the first pixel, and the first value typed moves nothing. A double-click on the empty figure edits it in place, as on a filled one. Only a value that is present and not a number (or not a time, under a clock) falls to the ordinary control, so a stale value stays visible as itself.
  • A stat carries its own label, so the row label is suppressed for it whatever Show label says. The other ways do not touch the label; for a Display line, a Prose or a Cue that is meant to read on its own, turn Show label off yourself.
  • A region can withhold a way it cannot draw. A table’s column has no room for a portrait, a record, a paragraph, a headline or a band; a strip’s inline row fits only a word, a pill or a chip. Those ways are not offered on a field that sits there, and a field that already had one when it was moved there says so under the row — A table cell has no room for a picture … — and draws the region’s default in its place. Nothing is greyed out; move the field, or pick another way.
  • A way whose requirement is missing draws the ordinary control, and nothing tells you. A meter with no range, pips with a max of 12, a badge on a bitmask select — each falls back silently. When a way “does nothing”, check its Needs column first.
  • A reference’s Display style applies to its chips. Cue, Portrait, View and Map replace the chip list entirely, so the Display picker steps aside under them with its reason; Chips, Avatar and Name only re-paint whatever chips the Display style chose.
  • A Text field can wear quote marks. The Quote marks switch beside Multiline sets the value in curly quotes on the card at rest — “Give me a second with this.” — whatever way it is shown as (Control, Word, Prose, Display line). The marks are the card’s drawing only: the stored words never hold them, the editor you type in shows none, and an empty field shows its placeholder without them.

A presentation is drawing only. The number under a meter is still a number, a select drawn as a badge still stores the option’s value, and a picture drawn as a portrait is still the same asset. A field that declares no Shown as takes its default from where it sits and, in a grid, a list or a repeater’s blocks, from the card’s Style — Control under Standard, the words and pills under Compact and Manuscript. A field’s own Shown as is never touched by picking a style: it survives every style, and where a style’s header cannot draw it the cell draws the default there, warned, until a style that can comes back.

Value style, alignment and the box

SettingWhat it doesValuesDefaultOnly applies when
Value styleTypography of the value text — the table belowThe field’s value is text: Text, Rich text, Number, Vector3, Select, Date, Entity, Asset and every link type. A Boolean, a Color, a Code and a Condition have no value text
Value alignWhere a content-sized control sits in its cellleft / centre / rightleftThe control is content-sized: Entity, Asset, Select, Date, Color, Boolean and every link type. A full-width input has nothing to align
BGA background colour behind the whole field cellany colour; a clear button removes itinherits the cardAlways offered
Show borderThe outline of the field’s control boxon / offonEvery type except Boolean, which has no box
InsetSpace between the control box and its contents0 to 40 px8Text, Rich text and Code. On a Text field it is the space at the sides only, and a word drawn without a box has none until you set one
Min heightRoom reserved for writing, even while emptypxa compact defaultRich text and Code
Max heightThe field grows to this height and then scrolls inside itselfpx, blank = grow freelygrowRich text and Code; also a Text field with Multiline on
Fill body & scrollThis field takes whatever height the node has left and scrolls inside it, so its siblings stay put when the node is made shorter. On the card it sits on a row of its ownon / offoffRich text and Code, in the body’s own flow (not inside a block or a row); one field per node — if several set it, the first in document order wins

The Value style box:

ControlValuesDefaultNotes
WeightNormal, Medium, Semibold, BoldNormal
Italicon / offoff
Size8 to 48 px14
TypefaceSans / MonoSansMono is the code face — the one a label set to Mono takes, so a value in a column beside such a label reads as the same kind of word
Colorany colour; a clear button removes itthe theme’s text colour
Auto-contraston / offoffTakes the text colour from the surface the field sits on — the header band’s, else the card’s — so it always reads. Overrides Color
Capson / offoffThe value in capitals, lightly tracked — the look of a strip’s kind word (the Beat card’s LENA MENSAH Nobody crosses…). Display only; the stored words keep their case
Type colouron / offoffThe value in the card’s own colour — its header colour, else the type’s — so it follows a recolour. Overrides Color; Auto-contrast overrides it. Not offered on rich text, for the reason Color is not

On a Rich text field the box offers the weight, italic, size and typeface; colour is governed by the rich text itself (Auto-contrast is its colour control), so Color and Type colour are not shown.

Fill body & scroll is disabled, with its reason written beside it, on a type whose nodes can never have a settled height — one that grows with its content and cannot be dragged shorter. Give the type a fixed height or allow vertical resizing (both in Node settings) and the control unlocks. On a type that grows with content but can be dragged, it is offered and applies once someone drags a node shorter. While a node is at its natural height the setting changes nothing — every field shows in full. It is also disabled for a field inside a repeater block or a row: only a field in the body’s own flow can fill.

Show border can only take an outline away. The type-wide Control outlines setting in Node settings decides the starting point for every field; a field cannot switch its outline back on under Hidden.

Layout in the grid

A node body is a grid. Its column count and their relative widths are the Body columns and Column widths settings on the body’s own page — the Structure tree’s BODY folder, the appearance page says more — a type made from blank starts with one column; the header band and each repeater block have a column count of their own. A field’s two grid settings are always shown under Where & when, and greyed until the grid the field sits in has more than one, naming where that grid’s count is set — needs a second column — set Columns on the Body page (the tree’s Body folder), …on the Header page (the tree’s Header folder) for a header field, …under Each block, on the list’s page for a list’s; a row’s cell is greyed with a row places its cells side by side — span does not apply to a cell:

SettingWhat it doesValuesDefault
SpanHow many columns the field takesFull width (the whole row), then 1 column, 2 columns… up to one less than the column count — in a two-column body the menu is just Full width and 1 columnFull width
RowsHow many rows the field runs down — a spine: a portrait beside three lines of text1 (normal) to 8 rows1

Two fields with a Span of 1 column in a 2-column body sit side by side; a field left at Full width starts its own row. With Column widths set, a span takes the combined share of the columns it covers — widths are relative, never pixels, so a wide column shrinks with the node rather than starving its neighbour.

A spine needs something beside it. Setting Rows above 1 narrows Span to leave at least one column free (the hint beside the menu reads beside N col), because a full-width cell that spans rows has nothing to run alongside and the card looks unchanged. Setting Span back to Full width afterwards clears Rows to 1 for the same reason.

A spine is bounded by its run of fields. A section, a repeater, a row, or a decoration placed on its own line (a heading, note, divider, spacer or shape) ends the run; the spine cannot reach across one. A decoration placed at the end of the row above does not break the run.

Thumbnails

An Entity or Asset field drawn as pills or thumbnails, and a Node link, show a small picture. Two settings describe that box:

SettingWhat it doesValuesDefaultOnly applies when
Thumb sizeThe thumbnail’s edge, in pixelspx, step 4the default sizeAn Entity or Asset field whose Display is Pills (with name) or Thumbnails only; any Node link
Round thumbnailA circular crop instead of a rounded square — the portrait lookon / offoffSame as Thumb size

The Display variants Large preview, Cover (edge to edge) and Fill the cell (crop) are their own layouts with no chip in them, so both controls withdraw when one of those is chosen. Thumb size is the only per-field size setting; Max height is a scrolling cap for text and never reaches a chip.

Tinting the card from a field

An Entity field can paint the container it sits in with its entity’s colour, and a Node link can do the same with the colour of the entity on the node it points at. A field in a section tints that section; a field in the header band tints the band; any other field tints the card.

SettingWhat it doesValuesDefaultOnly applies when
Use this entity’s colour for its section (Entity) / Use the target’s entity colour for its section (Node link)Paints the field’s container with the resolved entity colouron / offoffEntity and Node link fields only — nothing else resolves to an entity
Colour the whole nodePaints the band and the card, the band a step darkeron / offoffThe tint above is on

The colour is resolved in this order, and the first that answers wins: a colour painted on the node by hand (the node’s own header colour, then a painted surface), then this tint, then the type’s own header and body colours. Where two tinting fields share a container, the first in document order wins. A multi-value entity field tints from its first entity. An empty field, or an entity with no colour, tints nothing and the type’s colour shows through.

Visibility and conditions

Three settings decide whether a field is drawn at all, or can be edited, based on what the node holds. All three read this node’s own values. A node-level field and a row cell read the node’s other fields; a field inside a repeater block reads the other fields of its own block, so a block’s condition can gate one of its cells on another, and the sibling menu lists only the block’s fields.

SettingWhat it doesValuesDefaultOnly applies when
Hide when emptyThe cell disappears while the field has no value and returns when it gets one — Draw nothing on the card while this field has no valueon / offoffEvery type but Rich text and Code, which are greyed with rich text, and code not read as a ledger, have no empty state the card can read — save a Code field shown as a Ledger, which hides while its ledger holds no statement. Never in a table, which keeps every column. A hidden field still needs a way in: a drop onto the card for an Entity or Asset, the node’s dialog for the rest
Show whenThe cell is drawn only while a condition over a sibling field holdsa sibling, a comparison, a valueAlwaysAt least one other field beside it — on the type, or in the same block; otherwise greyed with needs a second field — a condition reads a sibling field’s value
Editable whenThe field is greyed out and refuses edits while the condition fails; it stays visiblesame shapeAlwaysSame

Empty means unset, blank, or an empty list. 0 and false are values, not emptiness — a number field holding zero does not hide.

Writing a condition

A condition is three controls in a row: the sibling field, picked by its code from a menu of the type’s other fields; a comparison — is set, is empty, equals, is not; and, for the last two, a value box. Pick Always in the first menu to remove the condition.

ComparisonHolds when
is setThe sibling has a value
is emptyIt has none
equalsThe sibling’s value, written out as text, is exactly the value you typed
is notIt is anything else, including empty

A number compares as its digits, a boolean as true or false, a select as its option value (not its label), a date as the stored date text. There is no and, no or, and no arithmetic: one sibling, one comparison. The language of conditions and gates is a different thing, for play-time flow, and is not used here.

Show when and Hide when empty are two reasons for one effect and combine: a field hides when either says so. Editable when is deliberately separate, so “there, but not applicable yet” can be said honestly as a greyed-out field rather than as an absence.

The node dialog

A field is edited in one of three ways, chosen by the Editing control:

ModeWhat it meansAvailable on
Click to editThe card shows a read-only display; a single click selects or drags the node, a double click swaps the display for the live controlText, Number, Vector3
Always onThe control is always live; one click actsEverything the control is offered on
In dialogThe card shows a read-only display; the value is edited in the node’s dialogEverything the control is offered on

Defaults by type: Text, Number, Vector3 and Rich text start as Click to edit; Condition is In dialog and cannot be changed; everything else starts Always on. The control is greyed for Rich text, Code and Node link — edited on the card by its own editor — and for Condition — edited in the node’s dialog — there is no card editor for it.

A Condition still opens from its cell. Because its dialog default is only the absence of an inline editor, a click on a Condition’s pill opens the field’s own card — a wide card centred under the node holding just that condition’s builder (the row card’s shell for one field); a second click closes it. The node’s dialog remains a second way in, so the type needs no Edit action just for it. In the builder, the last term of a condition can be removed like any other: the emptied builder stores the field’s blank — always on a node’s own condition, unfilled on an exit’s gate, no condition on a wire — never the word true.

SettingWhat it doesDefaultOnly applies when
Hide on the nodeKeeps the value, draws nothing on the card; the field remains editable in the dialog — Keep the value, draw nothing on the card — it stays editable in the dialogoffEditing is In dialog — a field drawn nowhere and edited nowhere would be unreachable, so elsewhere it is greyed with only a field edited in the dialog can be hidden on the card
Also in the node dialogThe field is edited on the card and listed in the dialog, so a set of rows can be edited together in one place — Edited on the card AND listed in the node’s field dialogoffEditing is not In dialog (greyed with already in the dialog — that is where it is edited), and the dialog can edit the type — for Rich text, a Code script or a Node link it is greyed with the dialog has no editor for this field — it is edited on the card

The dialog opens from one place: an action button whose behaviour is Edit this node’s fields. Add one to the type (an action item) — as a corner button, a row button, or the whole node surface — or the dialog has no door. The dialog, titled Edit ‹type› with Changes save automatically., lists every field set to In dialog plus every field marked Also in the node dialog, in the order they appear on the card, header first; a repeater’s dialog-edited fields appear under the repeater’s name, one set per block, with the block’s own move and remove buttons and its add button.

A type with an In dialog field and no such action shows a red banner across the top of the type’s tab — ‘X’ is edited in a dialog and nothing opens it — with the fix as a button: Add an ‘Edit this node’s fields’ action, which appends the action to the body. It is a warning, not a block: the type still saves, and the field still holds data that exports and generated code can see — it simply cannot be edited by anyone until the action exists. The banner names a field inside a repeater block the same way it names one at node level.

Placeholders

SettingWhat it doesDefaultOnly applies when
PlaceholderText shown while the field is emptynoneEvery type except Boolean
HintOne line shown on hover over the field on the card — what the value means. A field with no label and no hint shows its label on hovernoneEvery type
Big empty stateCentres the placeholder and the icon as one large press-me target; the field draws normally once it has a valueoffEvery type except Boolean, Rich text and Code; on Text, Number and Vector3 only when Shown as is set

On a picker-style field — Select, Date, Entity, Asset, Color and the link types — an empty placeholder shows just the picker’s icon, which the box hints at (Empty = icon only). On a text field it shows nothing. The big empty state needs something to show, so give it a placeholder or an icon, and preferably both.

On a picked field, the big empty state is exactly as tall as the value it will show, so picking a value, or clearing it, never resizes the node — at any thumbnail size and in every card style. A field that holds several values keeps them on one line: the ones that do not fit are counted in a +N at the end of the line, and all of them stay in the field’s picker. Two things still follow the value, because they are the value’s own shape: a picture shown as a cover or a preview takes the picture’s proportions (a square picture matches the empty state), and a command’s arguments take the room of the parameters the picked command declares — the empty state holds one argument, so a command with none draws its chip alone, and arguments drawn as rows take one row each. A typed field — Text, Number, Vector3, Time, Condition — keeps its own empty state, because typing may move things.

The name mark

Use as this node’s name — offered on Text, Rich text, Code, Select, Date, Entity and Asset — marks a field as the text the node is called by wherever it is referred to rather than drawn: the node-link picker, search, the auto-generated card of a type nobody has designed yet, and exports.

MarkedWhat is used
NothingThe first text-like field on the type
One fieldThat field
SeveralAll of them, joined in the order they appear on the card

The mark also reaches play mode, where it means something narrower. When any field on the type is marked, only the marked fields are what the runtime presents — the text a player reads at the node, and the text on a choice leading to it. Nothing marked means every readable text field is presented. Only Text and Rich text count there: a Select or an Entity marked as the name still names the node in the picker but never becomes a spoken line. The same list of marked fields travels to a game as each node’s choice text. What a player sees is decided in play mode’s Design view, which binds elements to fields explicitly and ignores this mark.

There is no negative form: you cannot mark a field as “not the name”. Marking the fields you want is the only way to leave one out.

Translatable and spoken aloud

Two checkboxes offered on Text and Rich text only:

SettingWhat it doesDefault
TranslatableIncludes this field’s text in translation exports and the localization paneloff — opt-in on both types
Spoken aloudThis field’s text gets a voice-over take, per languageon for both types; turn it off for text nobody should hear

Neither changes the card. Translatable decides what localization sends out and lists — it is the only thing that reads the flag. Once Spoken aloud has been toggled, the field carries an explicit yes or no and no longer follows the default.

Settings that only apply together

This settingNeeds
Span, RowsA grid with more than one column — Body columns, the header’s Columns, or a block’s Columns
Rows above 1A Span narrower than the full row; the builder narrows it for you
Label styleShow label on
The iconShow label on, or Big empty state
Value styleA field whose value is text; on Rich text the box offers weight, italic, size, typeface, Auto-contrast and Caps — not Color or Type colour
Value alignA content-sized control (picker, chip, switch, swatch)
Show borderAny type but Boolean; Control outlines not Hidden on the Body page (the tree’s Body folder)
Shown asA type with more than one way to be drawn; then each way’s own requirement (see Shown as)
Big empty stateA placeholder or an icon; on Text, Number and Vector3 a Shown as
Max height on a Text fieldMultiline on
Min height, Max height, Fill body & scrollRich text or Code
Fill body & scrollA type whose height can settle — fixed, or vertically resizable; and a field in the body’s own flow, not inside a block or a row
InsetText, Rich text or Code
Thumb size, Round thumbnailEntity or Asset with Display set to pills or thumbnails; or a Node link
Use … colour for its sectionEntity or Node link
Colour the whole nodeThe tint on
Hide when emptyAny type but Rich text or Code, or a Code field shown as a Ledger; never in a table
Show when, Editable whenAnother field beside it — on the type, or in the same repeater block
Hide on the nodeEditing set to In dialog
Also in the node dialogEditing not In dialog, and a type the dialog can edit
The dialog itselfAn action whose behaviour is Edit this node’s fields
Use as this node’s nameText, Rich text, Code, Select, Date, Entity or Asset; in play mode, Text or Rich text
Translatable, Spoken aloudText or Rich text

What reaches the engine

Nothing on this page changes a node’s data or the payload a game receives, with the three exceptions already named: the fields marked Use as this node’s name are sent as each node’s choice text, Translatable decides which text a translation export carries, and Spoken aloud decides which text has a voice-over take. Readings, styles, spans, thumbnails, tints, conditions, dialog membership and placeholders are read by the card and by nothing else. The node builder reference lists what an exported field template does carry.

Limits

LimitValueEnforced by
Rows1 to 8The menu, and clamped on read
Span1 to the grid’s column countThe menu, and clamped on read
Pips (level)A range max of at most 10The renderer — a larger max draws the ordinary row
Label Size, value Size8 to 48 pxThe builder clamps the typed number
Label Indent0 to 40 pxThe builder clamps
Label Width0 to 200 pxThe builder clamps
Inset0 to 40 pxThe box
Fill body & scrollOne field per nodeThe renderer takes the first in document order
A tint per containerOneThe renderer takes the first in document order
A conditionOne sibling, one comparison, one value — per settingThe control’s shape
Thumb size, Min height, Max heightNo capNothing enforces one
Name marksAny numberNothing enforces one; they join

What breaks

SituationWhat happens
A reading is missing what it needs — a meter without a full range, pips with a max above 10, a chip on a multi-value select, a band on a non-colourThe ordinary row is drawn. Nothing warns
A display line on an empty fieldThe ordinary (empty) row is drawn. A stat keeps its shape: caption plus the placeholder
The sibling a condition points at is removed, or its code changes — including by relabelling a field whose code still follows its labelThe condition reads as true: the field is shown and editable
A condition targets a Rich text or Code siblingThat sibling always reads as empty — is empty always holds, is set never does
Hide when empty on a Rich text field, or a Code field not shown as a Ledger (possible only in a pasted or imported type, or left on after Shown as changed)Ignored; the field is always drawn
Hide on the node on a field that is not In dialog (pasted or imported)Ignored; the field is drawn
An In dialog field, or a Condition, with no Edit this node’s fields action — at node level or inside a repeater blockThe banner ‘X’ is edited in a dialog and nothing opens it, with the fix as a button; the field holds data nobody can edit until then
Two tinting fields in one section, band or cardThe first in document order paints; the second is ignored
Rows above 1, then Span set back to Full widthRows is cleared to 1 — nothing could sit beside the spine
Show border left checked while Control outlines is HiddenNo outline is drawn; the type setting hides them and the field setting can only remove one
Value style colour on a Rich text field (possible only in a pasted or imported type)No effect; weight, italic, size and typeface land there, and colour comes from the theme (Auto-contrast is its colour control), so Color and Type colour are not offered
A field marked as the name that is not text — a Select, a Date, an EntityNames the node in pickers and search; ignored by play mode, which presents only text
Written for
Writers · Unity developers · Advanced integrators
Last updated