Choice group

A choice group collapses sibling nodes (nodes in the same scene with the same parent context) into a single synthesized “topic” choice. Selecting that topic expands the group’s children so the player can pick one. Authors use choice groups to build trees where multiple related options are grouped under a single label, then fan out into individual children when the player selects the topic. You create choice groups in the editor, then attach nodes to them via the node’s choiceGroupId field.

For conventions shared by all entity types, see Entities.

The Choice group inspector, opened from the Choice Groups tab of the Data View.

Fields

ID

The choice group’s expression-namespace identifier. You’ll use this name in expressions that reference the group and as the key the engine looks up when resolving a choice group reference on a node. Pick from the editor’s choice group picker. Renaming the ID updates expressions that mention the old name.

Convention: choice group ids are prefixed group_. Existing groups aren’t renamed when the prefix convention shifts; consistency is enforced at create-time only.

Display name

The human-readable label shown in the Node Graph and in host UI when the group is collapsed. It acts as the synthesized topic the player sees and selects; selecting it expands the group’s children. Free-form string, author-typed.

Description

Optional author-facing prose explaining what the group is for. Shown in the editor’s choice group inspector as a detail row. No runtime effect.

Order

Integer used for sort order among other choice groups when their members are presented as choices simultaneously. Groups with lower values appear first. Leave at the default (0) when relative ordering doesn’t matter.

Presentation

One of default, fullscreen, or custom. Determines how the host game renders the group’s children at runtime:

  • default: standard topic-header menu. A collapsed header that the player selects to expand the group’s children. The common case and the default.
  • fullscreen: dramatic full-screen presentation. The group takes over the entire choice surface, suitable for high-emphasis decision points.
  • custom: reads the Custom type companion string on the choice group to pick a host-defined rendering strategy (e.g. dialogue-wheel, scroll, vertical-list). The runtime treats Custom type as opaque.

Most authors leave this on default.

Custom type

Optional string the host game reads when Presentation is custom to pick a non-default rendering style. Examples: "dialogue-wheel", "scroll", "vertical-list". The runtime does not interpret this string; it passes it through to the host for the host’s own rendering pipeline. Leave empty when not using a custom presentation.

Translator notes

Display name can carry a translator note: see Entities for more information.

When to reach for choice groups

A choice group is the right shape when several sibling nodes belong under one umbrella the player should see first. Without a group, every sibling shows up as its own choice; with one, the player sees a single topic header that expands into the underlying picks when selected. Reach for groups when the underlying nodes are conceptually one decision split into sub-options (a topic with follow-up questions, a category of items, a cluster of dialogue branches) rather than independent choices that happen to be adjacent.

Attach nodes to a group through each node’s Choice group field; the inspector’s Where used section is the reverse lookup. The default presentation renders an inline topic header, Fullscreen hands the group’s children to the host’s full-screen overlay, and Custom plus a Custom type key lets the host swap in its own rendering (a dialogue wheel, a radial menu) without changes here. The runtime never interprets Custom type; it’s a pass-through string for the host.

See also

  • Dialogue events: dialogue nodes are the most common grouped choice.
  • Node: nodes reference choice groups via choiceGroupId.
  • Expressions: id conventions.
Docs last synced: 2026-07-08
Screenshot viewer