Skip to content

Progression & Logic

Eiquf edited this page Feb 14, 2026 · 4 revisions

The system separates Static Data (the Tree) from Dynamic Data (the Player's Save).

Progression Provider (ProgressionProviderSO)

This acts as the bridge to your save system.

  • IProgressionProvider: Read-only. Used by UI to check if a node is unlocked or affordable.
  • IProgressionWriter: Write-access. Used to actually unlock nodes and spend currency.

Unlock Conditions (UnlockConditionSO)

Inherit from this class to create custom requirements

public class LevelCondition : UnlockConditionSO {
    public int RequiredLevel;
    public override bool CanUnlock(IProgressionProvider provider) => 
        provider.PlayerLevel >= RequiredLevel;
}

Clone this wiki locally