The gesture menu: renaming, reordering, hiding, and keybinding emotes.
Emotes
An emote is a small social gesture — a wave, a bow, a shrug. The player picks one from the Emote menu, their character plays the pose, and everyone nearby reads a line in chat: "Ayla waves at Bram."
Emotes are an engine list of fourteen gestures. You do not add new ones (a world's own ceremony is a core event, not an emote), but you control every part of how they reach the player: the wording, which ones appear, their order, what the window looks like, and which key opens it.
Opening the menu
Players reach the gesture menu three ways, and all three run the same opener:
| Route | Where it comes from |
|---|---|
| The key | Period (.) by default — rebindable |
| The phone ring | Long-press your own character. This is the only route on a phone, which has no keyboard |
| A button you authored | Any HUD widget or custom menu entry pointed at the Emotes action |
Picking a gesture while something is selected aims it: "Ayla bows to the Innkeeper." With nothing selected it is untargeted. The window's subtitle tells the player which it will be, and each button previews its own line on hover.
Renaming and translating
Studio → World → Translations
Every gesture's menu word is a vocabulary key, so you can reword the lot without touching the gesture itself:
| Key | Default |
|---|---|
ui.panel.emotes.title | Emotes |
ui.emotes.tagline | Say it without words |
ui.emotes.at | at {target} |
ui.emote.wave, ui.emote.bow, ui.emote.kneel … | Wave, Bow, Kneel … |
A grim world can turn Cheer into Roar and Bow into Kneel to the Crown. Translating a language file covers the menu automatically.
Choosing which gestures appear
Studio → UI & HUD Editor → Panels → Emotes
Each gesture is a named section of the window, so the section list is your gesture list:
1. Open the Emotes panel in the editor. 2. Drag a gesture up or down to reorder it — the first four are the ones a phone player sees without scrolling, so put your world's common courtesies there. 3. Switch a gesture off to remove its button.
> Hiding a gesture removes the button, not the emote. The gesture still exists: a quest objective that waits for it still completes, and an event that performs it still runs. That is the point — you can reserve Kneel for a coronation your own event triggers, and keep it out of the everyday menu.
Switching the whole Emotes panel off removes the window entirely, and the key that opens it stops doing anything — a disabled panel is unreachable, not just hidden.
Styling the window
The Emotes window uses the standard panel shell, so the Appearance card applies in full: accent colour, corner radius, opacity, a background image, a nine-slice frame, header style, width, density and the entrance animation. Set a header icon to replace the default glyph.
Binding a key
Studio → World → Controls → Bindings → Social → Emotes
The action is social.emotes, bound to Period out of the box because every letter key is already claimed by the default scheme. Bind it to anything, give it several inputs at once, or leave it unbound if you would rather players used the ring or a button. Players can rebind it themselves from the in-game settings unless you have turned player overrides off.
Emotes in quests
A quest objective of type Perform an emote waits for a specific gesture, optionally at a specific NPC. Store the gesture's id (wave, bow, kneel — the lowercase engine id, not your renamed label) on the objective. Renaming the label in Translations does not change the id, so your quests keep working.
Gotchas
- There is no chat command. The menu, a bound key, the phone ring and a button you authored are the only ways in. If you switch the panel off, leave the key unbound and hide the ring entry, players cannot emote at all.
- The "at" can vanish. Aiming needs the target within 12 tiles when the gesture lands. If they walked off, the emote still plays — untargeted. This is deliberate: refusing would make a gesture feel like a failed spell.
- One pose, fourteen gestures. Character sprites carry a single emote pose, so every gesture plays the same animation. The words are what distinguish them, which is why the wording is worth authoring.
- Renaming is not re-identifying. Quest objectives, events and the network all use the engine id. Your label is display only.
- Publish to apply. Panel, translation and binding edits reach players on the next publish, like every other UI change.