Label

Category: Executor Tier: Basic

Purpose

Writes formatted text into a target UI node.

Visual Reference

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

Runtime Behavior

Inputs

  • Activate (Boolean): Writes the formatted text when triggered.

Properties

  • property_name (String, "")

    • Variable name to read and display.

  • scope (Enum, Global)

    • Local: reads from the target host node’s metadata/local_variables.

    • Global: reads from /root/GDLinkGlobals.

  • prefix (String, "")

    • Prepended before the resolved value.

  • suffix (String, "")

    • Appended after the resolved value.

  • decimals (Int, 2)

    • Decimal precision applied to float values.

  • target_node (String, "")

    • Optional node identifier for the label/readout target.

    • Empty string means “write to the executor’s host node”.

Generated UI Mockup — showing expanded properties
Label
-
x
Name:
Label this brick...
Mode:
Set
Target Index:
0
v
Target Node:
v
Scope:
Global
Array Index:
0
v
Idx Source:
Manual
Idx Scope:
Local
Prefix:
v
Suffix:
v
Decimals:
2
v
Time Format:
Default
Chars/sec:
30.0
v
Source:
Slots
Group Scope:
Local
Array Index:
0
v
Idx Source:
Manual
Idx Scope:
Local
Scope 1:
Global
Speed 1:
0.0
v
Scope 2:
Global
Speed 2:
0.0
v
Scope 3:
Global
Speed 3:
0.0
v
Scope 4:
Global
Speed 4:
0.0
v
Auto Delay:
1.5
v
Only Lines:
v
State Prefix:
narration
v
State Scope:
Local
Skip on Retrigger
Auto-advance
Loop
Expose State
Verbose

Properties

Property

Type

Default

Notes

Mode

option

Set

Set writes a value/literal once. Typewrite reveals String, Number, Array, or Narration data character-by-character. Goto Narration jumps to a specific entry index (NPC dialog branching).

Target Index

int

0

[Goto Narration] Zero-based index of the Narration entry/group line to jump to.

Target Node

string

Name of Label/Label3D/RichTextLabel node (empty = self)

Variable

variable_name

Variable to display

Scope

option

Global

Variable scope

Array Index

int

0

If Variable is an Array, display this element

Idx Source

option

Manual

Manual uses Array Index. Variable reads an Integer variable.

Idx Var

variable_name

Integer variable used as the Label array index

Idx Scope

option

Local

Prefix

string

Text before value

Suffix

string

Text after value

Decimals

int

2

Decimal places for floats

Time Format

option

Default

Render Float/Int values (and Array elements) as durations in the chosen format. Default uses Decimals.

Chars/sec

float

30.0

Default reveal speed in characters per second

Source

option

Slots

Slots: 4 flat data variables. Group: a single Array/Narration Group variable played line-by-line.

Group Var

variable_name

Array or Narration Group variable played line-by-line

Group Scope

option

Local

Array Index

int

0

If a Typewrite slot variable is an Array, reveal this element

Idx Source

option

Manual

Manual uses Array Index. Variable reads an Integer variable.

Idx Var

variable_name

Integer variable used as the Typewrite array index

Idx Scope

option

Local

Data 1

variable_name

Variable holding String, Number, Array, or Narration data (BBCode + {Tokens} OK for text)

Scope 1

option

Global

Speed 1

float

0.0

Per-entry speed override (0 = use default Chars/sec)

Data 2

variable_name

Variable holding String, Number, Array, or Narration data (BBCode + {Tokens} OK for text)

Scope 2

option

Global

Speed 2

float

0.0

Per-entry speed override (0 = use default Chars/sec)

Data 3

variable_name

Variable holding String, Number, Array, or Narration data (BBCode + {Tokens} OK for text)

Scope 3

option

Global

Speed 3

float

0.0

Per-entry speed override (0 = use default Chars/sec)

Data 4

variable_name

Variable holding String, Number, Array, or Narration data (BBCode + {Tokens} OK for text)

Scope 4

option

Global

Speed 4

float

0.0

Per-entry speed override (0 = use default Chars/sec)

Skip on Retrigger

bool

True

If a re-trigger arrives while still revealing, snap to fully revealed instead of advancing

Auto-advance

bool

False

Automatically advance to the next narration entry after Auto Delay seconds

Auto Delay

float

1.5

Seconds to wait after a narration entry completes before auto-advancing

Loop

bool

False

After the last narration entry, restart from the first

Only Lines

string

Optional comma-separated 0-based indices (e.g. “0,2,4”). When non-empty, Typewrite advances only through these entries in order. Empty = play all in sequence.

Expose State

bool

False

Write narration runtime state (index, is_playing, is_finished, chars_revealed, total_chars) to a variable namespace each tick — drives sound-on-character / per-line callbacks.

State Prefix

string

narration

Variable namespace for exposed narration state. Writes {prefix}_index, {prefix}_is_playing, etc.

State Scope

option

Local

Where to write exposed narration state.

Verbose

bool

False

Log Label operations (controlled by ladybug button)

Example Use Cases

Timer / System Time HUD:

  1. Use a Timer variable and Timer executor for gameplay timers.

  2. Add a Label executor with property_name = race_timer, scope = Local, and target_node pointing at the HUD label. Timer dictionaries render using their stored format.

  3. For wall-clock text, use Set mode with text_content = "{_system_time.hms}" or "{_system_time.formatted}".

Clock listener remains registered for old scenes, but new authoring should read Timer variables or _system_time directly.