# Requirements

Before a link can be followed, Storyspace 3 checks both

- the link’s guard field, and
- the destination’s Requirements expression.

If both are satisfied, the link can be followed. (An empty guard field and an empty Requirements expression are always considered to be satisfied.)

The Requirements expression imposes an additional constraint on all inbound links and is stored in the note's $Requirements attribute. For example, the note DepositQuarter

> Name: Deposit Quarter

> Requirements: `$PluggedIn==true`

can not be visited unless $PluggedIn is true. Individual link guard fields might impose additional conditions as well.

Requirements can be especially useful when a note’s accessibility depends on some state of the world. For example:

- If a note describes a chat with Barbara, it might be accessible only before Barbara has left for Switzerland.
- If a note describes the narrator’s first sight of the throne room, it might be accessible only after the narrator has acquired a pass granting access, and only on those days when the Queen is in residence.

More information on Requirements and their use may be found in Getting Started With Hypertext Narrative.