πͺ Unique choices
πͺ Unique choices
The Unique choices block lets you present a list of options to the user, just like the standard Choice block, but it automatically removes from the list any option already picked during previous passes through this block. It is particularly useful for dialogues with a non-player character (NPC): once a topic has been brought up, it is never offered again, so a player never asks the same character the same question twice.
Once every topic in the list has been used up, the block no longer even displays any buttons: it automatically continues through a dedicated "end" output.
π₯ Inputs
- in (Trigger): Triggers the display of on-screen buttons and pauses the experience. If every choice has already been picked during previous passes, no button is shown and the flow immediately continues through the "end" output.
- choices (List): List of proposals which will generate the buttons to display. Each item in the list corresponds to a button, as long as it hasn't already been picked before.
- timer (Number): (Optional) Time limit in seconds before the displayed choice expires. If this parameter is empty or equal to 0, the player has unlimited time.
π€ Outputs
- (Name of each choice) (Trigger): An output is generated for each element of the "choices" list. The flow takes the output corresponding to the button clicked by the user, and that choice is remembered so it is never offered again on this block.
- end (Trigger): This output is specific to the Unique choices block. It is taken automatically, without any button being shown, as soon as every choice in the list has already been picked during previous passes through this block.
- time out (Trigger): This output only appears if a timer is set. The flow takes this path if the allotted time elapses without user action.
π‘ Example of use
Scenario: Asking a merchant NPC about several topics
- The player can come back several times to talk to a merchant NPC during the game.
- A variable merchantTopics of type List is created with the values: ["His goods", "Rumors around town", "His past"].
- The Unique choices block is placed in the graph, connected so it is reached again on every conversation with the merchant, and the merchantTopics variable is selected in the "choices" field.
- During the first conversation, all three topics are offered. The player picks "His goods": the corresponding output leads to the NPC's answer, then the flow loops back to the Unique choices block.
- During the next conversation, only "Rumors around town" and "His past" are offered, since "His goods" has already been picked and no longer appears.
- Once all three topics are exhausted, the block shows no buttons at all on a new visit: the flow directly continues through the "end" output, for example so the NPC tells the player he has nothing more to add.
βοΈ Technical Details
- Internal identifier:
uniqueChoice - Remembering choices: Each choice picked by the player is recorded in this block's own persistent data (by the choice's identifier). On subsequent passes through this same block, choices already present in this memory are automatically excluded from the list of displayed buttons.
- Automatic "end" output: As soon as the number of already-remembered choices reaches the total number of elements in the "choices" list, the block no longer displays anything on screen: it directly takes the "end" output, without any player interaction.
- Dynamic generation of outputs: As with the Choice block, the number of "choice" outputs is determined automatically based on the number of elements in the list provided. Each output has the exact name of the corresponding element.
- Timer management: If the timer is activated, the block displays a visual countdown. Once the time has elapsed, the flow is automatically redirected to the "time out" output.
π See also
- Choice: the standard version, without memory β proposals always remain fully available on every pass through the block, even once they have already been picked before.
Documented version: v1
Updated on: 06/09/2026
Thank you!
