Collision¶
Category: Listener Tier: Basic
Purpose¶
Detects collisions and overlaps with other physics objects, with filtering by name, group, material, or property.
Visual Reference¶

When To Use¶
Damage on collision (player hits enemy)
Pickup items (player touches collectible)
Trigger zones (enter area to open door)
Ground detection (character on floor)
Projectile hits (bullet collides with wall)
Power-up effects (player touches speed boost)
Runtime Behavior¶
Triggers: When this object collides with another object that matches the specified filter criteria
Properties¶
Property |
Type |
Default |
Notes |
|---|---|---|---|
collision_type |
option, “Any” |
What to check on collision (see available types below) |
|
target |
string, “” |
Name/Group/Material/Property to match |
|
property_value |
string, “” |
Expected property value (empty = just check existence) |
|
pulse |
bool, false |
Toggle/edge detection mode - triggers only on collision state change rather than continuously |
|
expose_collision_data |
bool, false |
Write collider name, group, position, normal, and count into variables when the listener fires. |
|
expose_scope |
option, Local |
Write exposed values to Local or Global variables (visible when expose_collision_data=true). |
|
expose_prefix |
string, collision |
Prefix used for exposed variable names (visible when expose_collision_data=true). |
Example Use Cases¶
Basic Damage Detection:
Collision(type=Any) -> AND -> Math(HP, Subtract, 10)
// Lose 10 HP when hitting anything
Pickup System:
Collision(type=Group, target=Collectibles) -> AND -> Sound(pickup) + Visibility(false)
// Play sound and hide item when player touches collectible
Enemy-Specific Damage:
Collision(type=Group, target=Enemies) -> AND -> Math(HP, Subtract, 25)
// Take 25 damage only from enemies
Ground Detection:
Collision(type=Property, target=is_ground, value=true) -> AND -> Property(grounded, Set, true)
// Set grounded=true when touching ground
Trigger Zone:
Collision(type=Object Name, target=Player) -> AND -> Message(door_open)
// Send door_open message when player enters zone