Dialogues

Simple lines

NPCs open a dialogue popup. The simplest way: on the NPC object placed in the scene, find “Simple lines” and write one line per row — press E to page through them, Esc to close.

Dialogue lives on the object placed in the scene, not in the library definition — the same library object can say different things in different scenes.

With no lines, no empty window pops up; the NPC's conditions, compute and audio still apply as usual — the object stays and can be triggered repeatedly (good for buttons and mechanisms; unlike an Item, which is picked up and removed on E).

💡
Simple lines are great for greetings and one-off hints; when you need branches, choices or characters, use a named dialogue below.

Named dialogues

Click “💬 Dialogues” in the toolbar to open the dialogue editor: all dialogues on the left, the line order (timeline) in the middle, and the selected item's details on the right.

After creating a dialogue, build it page by page: a “line” is one page of speech; a “choice” gives users several options; a “branch” jumps automatically by condition. Items without an explicit jump continue in order, and the dialogue ends after the last one.

To link an NPC, type the dialogue's name into the NPC inspector's “Dialogue name” field — an existing dialogue with that name is linked, otherwise a new one is created and opened. While linked, the simple lines are ignored; unlink to restore them.

One dialogue can be reused by many NPCs. A dialogue still linked to an NPC can't be deleted — unlink it first.

💡
A single dialogue can say different things based on conditions — you don't need a separate dialogue for every case.

Characters

Every line can name its speaker: by default it's the NPC's name; you can also choose “Narration” (no name shown) or pick a character from the character library.

A character has a name, a name colour and an avatar (picked from an image material). The dialogue popup shows the colour and avatar, so users can tell at a glance who is speaking.

The character library lives in the dialogue editor; names are unique within the world.

💡
Set up recurring characters (a shopkeeper, a guide) once and reuse them — far more consistent than retyping names every line.

Conditions, effects and branches

Every line and option can carry: display conditions (skip or hide when unmet), a function condition, compute (runs when chosen), a trigger function, and audio.

An option whose conditions fail is hidden from users; when every option is hidden, the dialogue continues to the choice's next item — it never gets stuck.

A “branch” is never shown to users: its rules are checked in order and the first match jumps ahead — perfect for “say something different by level”.

Conditions and compute reference variables and functions exactly as in the effects editor; self-binding [..v] refers to the NPC currently in conversation.

💡
A common pattern: the first-meeting line requires “met == 0”, and its compute sets “met” to 1 after speaking — next time the dialogue switches by itself.

Multiplayer worlds

In multiplayer worlds each user holds their own conversation: whether an option appears and what it does are judged from the current conditions, independently for each user. The same NPC can talk to several users at once.

Walking away or pressing Esc ends the dialogue; a new interaction replaces the old one.

Even if the NPC hides itself during the conversation (Visible = 0), the current dialogue is not interrupted.

Multiplayer chat phrases

The “User chat” tab in world settings lets you preset up to six chat phrases for a multiplayer world (32 characters each at most). In the world, users open “Chat” in the nameplate menu and send one — the bubble shows above their head and in the user list.

Picking another user sends to them alone; picking yourself broadcasts to everyone in the instance.

This tab only applies when “Multiplayer world” is on; single-user worlds never show these phrases.

💡
Phrases are not a chat room — they're for quick calls (“Follow me”, “Careful”); longer conversations with friends live in the friend panel.