Research TreeProgression

Spending accumulated resources or turns on a branching tree of options unlocks new units, buildings, or abilities.

Accumulated science unlocks a branching tree of nodes, one prerequisite at a time.

How research tree works in Godot

A tech tree is a dependency graph of cost-gated nodes. Completing one sets an unlock flag that other nodes (and unit-builders) check. It's flag gating with prerequisites and a price.

Resourceprimitive

A ResearchNode resource: cost, the nodes it requires, and what it unlocks. The whole tree is authored as data.

class_name ResearchNode extends Resource
@export var cost: int
@export var requires: Array[String]
@export var unlocks: String

Dictionaryprimitive

Completed-research flags. A node is researchable only if every prerequisite flag is set and you can pay — then it sets its own flag.

var done := {}
func available(n):
    return n.requires.all(func(r): return done.get(r, false))

Signalsprimitive

Emit research_complete so production menus reveal the newly unlocked units/buildings the instant the tech lands.

signal research_complete(unlocks)
func finish(n):
    done[n.unlocks] = true; research_complete.emit(n.unlocks)

In short: Tree of ResearchNode Resources; each node checks prerequisite nodes and resource cost; completion sets unlock flags

Retro games that use research tree

11 catalogued game(s) use this mechanic, spanning 1990–1999.

Related progression mechanics

▶ Explore Research Tree interactively — see every game + the Godot system