Always

Category: Listener Tier: Basic

Purpose

The Always listener continuously outputs a positive pulse every tick, providing a constant activation signal for testing and basic logic flows.

Visual Reference

As added to your scene
Always brick as it appears in the GDLink editor

Runtime Behavior

Inputs None

Outputs

  • Pulse (Boolean): Always true (positive pulse every tick)

Properties

  • use_pulse_mode (Boolean, true): When true, the listener pulses on a skip cadence (see frequency). When false, it fires continuously every physics tick (classic “always on” mode).

  • frequency (Integer, 0): Number of ticks to skip between pulses while use_pulse_mode=true. 0 = fire every tick, 30 = fire once every half-second at 60 fps, etc.

  • invert (Boolean, false): Output the logical inverse. With continuous mode the listener becomes always-false; with pulse mode, the skipped ticks are reported as true and the scheduled pulse tick flips to false. Useful for “silence canary” demos and watchdog-style guards.

Execution Behavior

Tick Behavior

  • With use_pulse_mode=false, every physics tick outputs a positive pulse (continuous mode).

  • With use_pulse_mode=true, the listener outputs a positive pulse, then skips frequency ticks before the next pulse. frequency=0 behaves like continuous mode.

  • When invert=true, the listener outputs the logical inverse of the above behaviors (false during the would-be pulse window, true otherwise).

  • Scene-start one-shot logic is handled by Delay with delay=0 and repeat=false; Always does not have a one-shot mode.

State Changes

  • Initial state: ACTIVE

  • Persistent state: ACTIVE

  • No state transitions

Edge Detection

  • Positive pulse: Generated every tick (ACTIVE -> ACTIVE)

  • Negative pulse: Never generated

Examples

Basic Usage

Generated UI Mockup — showing expanded properties
Always
-
x
Name:
Label this brick...
Skip:
0
v
Pulse
Invert

Properties

Property

Type

Default

Notes

Pulse

bool

True

If enabled, pulse every N ticks (skip path). If disabled, trigger continuously every tick.

Skip

int

0

Number of ticks to skip between pulses (0 = no skipping)

Invert

bool

False

Invert output (silence until pulse would fire)