Variable

Category: Executor Tier: Basic

Purpose

Writes values into Local or Global variables, supports gameplay text-buffer flows with optional mask formatting, supports direct vector/array edits, and can sample native physics data directly into a variable without a GDScript bridge.

Visual Reference

As added to your scene
Variable brick as it appears in the GDLink editor
Generated UI Mockup — showing expanded properties
Variable
-
x
Name:
Label this brick...
Scope:
Global
Field:
Test:
Equal
Value:
v
Min:
0.0
v
Max:
0.0
v

Properties

Property

Type

Default

Notes

Scope

option

Global

Global: Check shared variables. Local: Check this node’s variables

Var Name

variable_name

Variable to check (Timer dicts and the reserved Global ‘_system_time’ supported)

Field

option

Optional Dictionary/Transform subfield. Timer dicts: elapsed/remaining/etc. _system_time: formatted/hms/hm/hour/minute/second/etc. Transform2D/3D: position/rotation/scale/origin/basis axes.

Test

option

Equal

Type of comparison to perform

Value

string

Value to compare against

Min

float

0.0

In Range: lower bound (inclusive)

Max

float

0.0

In Range: upper bound (inclusive)

Notes

  • Empty target_node means “sample the owner node”

  • 1 Godot unit = 1 meter, so the stored magnitude is meters per second

  • This executor stores the raw sampled number only; unit conversion and smoothing belong in Math

  • Mask formatting is deterministic and separator-driven; it is intentionally not a general-purpose template language

  • Local and Global variable panels parse Array values with Godot Variant syntax first, preserving integer values instead of coercing all numbers to floats.