Sequence DependencyProgression

An event or interaction is only available when multiple prior conditions are all simultaneously true.

Actions must happen in order: activating the runes 1→2→3 unlocks the prize, but pressing one out of order resets the whole sequence.

How sequence dependency works in Godot

This is flag gating with an AND: an action unlocks only when several conditions are simultaneously true. The architecture is identical — just a compound check.

Dictionaryprimitive

All conditions live in the same flag store. A multi-step gate just reads several keys at once before allowing the payoff.

func can_open_vault():
    return flags.get("power_on") and flags.get("code_known") and inventory.has("keycard")

Resourceprimitive

Store each interaction's required-flag list as data so the dependency is declared, not buried in branching code.

class_name Gate extends Resource
@export var requires: Array[String]
func met(flags): return requires.all(func(k): return flags.get(k, false))

Signalsprimitive

Re-check the compound gate whenever any flag flips, so the moment the last condition lands, the dependent event opens on its own.

GameState.flag_changed.connect(func(_n,_v):
    if can_open_vault(): vault.unlock())

In short: Multi-condition flag check: check_flag(A) and check_flag(B) and has_item(C) before enabling

Retro games that use sequence dependency

16 catalogued game(s) use this mechanic, spanning 1987–1999.

Related progression mechanics

▶ Explore Sequence Dependency interactively — see every game + the Godot system