2D Sensors
12 sensors available for 2D workflows.
How sensors fit into a chain
Sensors detect input, state , collisions, timing, and other conditions. They begin a chain but do not perform gameplay actions by themselves.
- Choose the event or condition to detect.
- Configure filters, thresholds, or stored values.
- Connect the sensor to a Controller , then to one or more Actuators.
Collision 2D
Detects collisions via an Area2D node located by name.\n\nType the node name (not the full path) into 'Area Node Name'.
Options
| Property | Details |
|---|---|
area_node_name
|
Area Node Name |
detection_mode
|
Detection Mode
Choices: Entered,Exited,Overlapping Default:
entered
|
detect_bodies
|
Detect Bodies
Default:
true
|
detect_areas
|
Detect Areas
Default:
false
|
filter_type
|
Filter Type
Choices: Any,Group,Name Default:
any
|
filter_value
|
Filter Value |
invert
|
Invert
Default:
false
|
Using this brick
Typical uses
- Start a logic chain when detects collisions via an Area2D node located by name.\n\nType the node name (not the full path) into 'Area Node Name'.
- Gate an action through a Controller so multiple conditions can be combined.
- Use it as the event or condition at the beginning of a reusable chain.
Example chain
Movement 2D
Detects if a 2D node is moving in specific directions.\nCheck which directions to monitor.\nActive when any checked direction moves past the threshold.
Options
| Property | Details |
|---|---|
all_axis
|
All Axis
Default:
false
|
pos_x
|
Pos X
Default:
false
|
neg_x
|
Neg X
Default:
false
|
pos_y
|
Pos Y
Default:
false
|
neg_y
|
Neg Y
Default:
false
|
threshold
|
Threshold
Default:
0.1
|
use_local_axes
|
Use Local Axes
Default:
false
|
ignore_platform_motion
|
Ignore Platform Motion
Default:
true
|
invert
|
Invert
Default:
false
|
Using this brick
Typical uses
- Start a logic chain when detects if a 2D node is moving in specific directions.\nCheck which directions to monitor.\nActive when any checked direction moves past the threshold.
- Gate an action through a Controller so multiple conditions can be combined.
- Use it as the event or condition at the beginning of a reusable chain.
Example chain
Physics 2D
Checks CharacterBody2D collision state: on floor, on wall, or on ceiling.\nUse this for jump checks, wall checks, ceiling bumps, and platformer logic.
Options
| Property | Details |
|---|---|
contact_type
|
Contact Type
Choices: On Floor,On Wall,On Ceiling Default:
On Floor
|
invert
|
Invert
Default:
false
|
require_contact_loss_first
|
Require Contact Loss First
Default:
false
|
Using this brick
Typical uses
- Start a logic chain when checks CharacterBody2D collision state: on floor, on wall, or on ceiling.\nUse this for jump checks, wall checks, ceiling bumps, and platformer logic.
- Gate an action through a Controller so multiple conditions can be combined.
- Use it as the event or condition at the beginning of a reusable chain.
Example chain
Proximity 2D
Detects objects within a distance and optional angle.\nUses groups to filter which objects are detected.
Options
| Property | Details |
|---|---|
target_group
|
Target Group |
distance
|
Distance
Default:
10.0
|
angle
|
Angle
Default:
360.0
|
axis
|
Axis
Choices: All,+X,-X,+Y,-Y,+Z,-Z Default:
all
|
detection_mode
|
Detection Mode
Choices: Any,All,None Default:
any
|
inverse
|
Inverse
Default:
false
|
store_object
|
Store Object
Default:
false
|
object_variable
|
Object Variable |
Using this brick
Typical uses
- Start a logic chain when detects objects within a distance and optional angle.\nUses groups to filter which objects are detected.
- Gate an action through a Controller so multiple conditions can be combined.
- Use it as the event or condition at the beginning of a reusable chain.
Example chain
Raycast 2D
Detects along a RayCast2D. This can be used for objects, groups, walls, ground, or ledges.\nThe RayCast2D's direction, length, and collision mask are set on the RayCast2D node itself.
Options
| Property | Details |
|---|---|
raycast_node_name
|
Raycast Node Name
Default:
RayCast2D
RayCast2D node name |
detect_mode
|
Detect Mode
Choices: Any,Group,Nothing Default:
any
|
group_filter
|
Group Filter |
invert
|
Invert
Default:
false
|
Using this brick
Typical uses
- Start a logic chain when detects along a RayCast2D. This can be used for objects, groups, walls, ground, or ledges.\nThe RayCast2D's direction, length, and collision mask are set on the RayCast2D node itself.
- Gate an action through a Controller so multiple conditions can be combined.
- Use it as the event or condition at the beginning of a reusable chain.
Example chain
Always
Always logic brick.
Options
| Property | Details |
|---|---|
enabled
|
Enabled
Default:
true
|
Using this brick
Typical uses
- Start a logic chain when always logic brick.
- Gate an action through a Controller so multiple conditions can be combined.
- Use it as the event or condition at the beginning of a reusable chain.
Example chain
Compare Variable
Compares a variable 's value.\nWorks with local , exported, and global variables.\nAutomatically checks GlobalVars if not found locally.
Options
| Property | Details |
|---|---|
variable_name
|
Variable Name |
evaluation_type
|
Evaluation Type
Standard variable choices: Equal, Not Equal, Interval, Changed, Greater Than, Less Than, Greater or Equal, Less or Equal. Array choices (selected automatically for Array variables): Contains, Does Not Contain, Is Empty, Is Not Empty, Size Equals, Size Greater Than, Size Less Than, Changed. Default:
equal
|
value
|
Value |
min_value
|
Min Value |
max_value
|
Max Value |
item_type
|
Array Item Type
Shown for Contains and Does Not Contain. Choices: bool, int, float, String, Vector2, Vector3. |
variable_name matches an Array variable, the Evaluation Type menu changes automatically. Use Contains or Does Not Contain to test for an item, the empty checks to test whether the Array has any items, or the size checks to compare the number of items. The selected Array Item Type determines how the entered value is interpreted.
Using this brick
Typical uses
- Start a logic chain when compares a variable's value.\nWorks with local, exported, and global variables.\nAutomatically checks GlobalVars if not found locally.
- Gate an action through a Controller so multiple conditions can be combined.
- Capture or compare a value as part of variable-driven gameplay logic.
Example chain
Delay
Waits for Delay seconds, then stays active for Duration seconds.\nRepeat cycles the whole sequence.
Options
| Property | Details |
|---|---|
delay
|
Delay
Default:
0.0
|
duration
|
Duration
Default:
0.0
|
repeat
|
Repeat
Default:
false
|
Using this brick
Typical uses
- Start a logic chain when waits for Delay seconds, then stays active for Duration seconds.\nRepeat cycles the whole sequence.
- Gate an action through a Controller so multiple conditions can be combined.
- Use it as the event or condition at the beginning of a reusable chain.
Example chain
Input Map
Detects input actions from Project > Input Map.\nSupports button presses, any-action checks, and analog joystick axis input.
Options
| Property | Details |
|---|---|
input_mode
|
Input Mode
Choices: Pressed,Just Pressed,Just Released,Any Pressed,Any Just Pressed,Any Just Released,Axis Default:
pressed
|
action_name
|
Action Name
Default:
ui_accept
|
negative_action
|
Negative Action |
positive_action
|
Positive Action |
invert
|
Invert
Default:
false
|
store_in
|
Store In |
deadzone
|
Deadzone
Default:
0.1
|
Using this brick
Typical uses
- Start a logic chain when detects input actions from Project > Input Map.\nSupports button presses, any-action checks, and analog joystick axis input.
- Gate an action through a Controller so multiple conditions can be combined.
- Capture or compare a value as part of variable-driven gameplay logic.
Example chain
Mouse
Detects mouse buttons, wheel, movement, and object hover
Options
| Property | Details |
|---|---|
detection_type
|
Detection Type
Choices: Button,Wheel,Movement,Hover Object,Hover Any Default:
button
|
mouse_button
|
Mouse Button
Choices: Left,Right,Middle Default:
left
|
button_state
|
Button State
Choices: Pressed,Released,Held Default:
pressed
|
wheel_direction
|
Wheel Direction
Choices: Up,Down Default:
up
|
movement_threshold
|
Movement Threshold
Default:
0.1
|
target_node_name
|
Target Node Name
Default:
self
|
Using this brick
Typical uses
- Start a logic chain when detects mouse buttons, wheel, movement, and object hover.
- Gate an action through a Controller so multiple conditions can be combined.
- Use it as the event or condition at the beginning of a reusable chain.
Example chain
Random
Activates randomly each time it is evaluated.\\nPair with a Delay Sensor to control how often it rolls.\\nUseful for random behaviors, AI variation, and loot rolls.
Options
| Property | Details |
|---|---|
trigger_mode
|
Trigger Mode
Choices: Chance,Value,Range Default:
chance
|
chance_percent
|
Chance Percent
Choices: 0.0,100.0,0.1 Default:
10.0
|
target_value
|
Target Value
Default:
0
|
target_min
|
Target Min
Default:
0
|
target_max
|
Target Max
Default:
100
|
use_seed
|
Use Seed
Default:
false
|
seed_value
|
Seed Value
Default:
0
|
store_value
|
Store Value
Default:
false
|
value_variable
|
Value Variable |
Using this brick
Typical uses
- Start a logic chain when activates randomly each time it is evaluated.\\nPair with a Delay Sensor to control how often it rolls.\\nUseful for random behaviors, AI variation, and loot rolls.
- Gate an action through a Controller so multiple conditions can be combined.
- Capture or compare a value as part of variable-driven gameplay logic.
Example chain
Signal
Detects signals sent by a Signal Actuator.\nListens for a specific subject.
Options
| Property | Details |
|---|---|
subject
|
Subject |
match_mode
|
Match Mode
Choices: Exact,Contains,Starts With Default:
exact
|
response_delay
|
Response Delay
Default:
0.0
|
Using this brick
Typical uses
- Start a logic chain when detects signals sent by a Signal Actuator.\nListens for a specific subject.
- Gate an action through a Controller so multiple conditions can be combined.
- Use it as the event or condition at the beginning of a reusable chain.
Example chain