Collider
A Collider defines collision shape, contact roles, and surface response; configure the Object’s motion in Transform.
Both 2D and 3D Objects can have several named Colliders.
Select the intended Collider when reading or writing a property; Object components explains definitions and instance overrides.
Collision uses Solid, Sensor, and Off in the Object Editor. Solid enables the Collider with Trigger off; Sensor enables both Enabled and Trigger. Off disables the Collider. See Collision and 2D Physics for setup and contact Events.
Defaults are normalized values for an empty component; an Object preset can supply different starting values. “Not stored” means the path is optional or supplied during play. Conditional shape settings appear after you choose that shape.
Writable means exposed for Logic property writes. A No entry can still be editable in the Object Editor. Live contact values are read-only.
For example, writing 4 to self.collider.geometry.transform.size.x sets that Collider’s width to 4 meters on a World Object. Here, collider names the selected Collider.
World lengths use meters; Screen UI lengths use pixels. Rotations use degrees. See Units and Coordinates for the current axis conventions.
Properties
| Property and path | Type | Factory default | Behavior | Writable |
|---|---|---|---|---|
| Enabled (enabled) | boolean | true | Whether this Collider participates in collision detection. Off disables it. | Yes |
| Trigger (trigger) | boolean | false | True makes an enabled Collider a Sensor. False permits solid response. | Yes |
| Fixed (fixed) | boolean | Not stored; see behavior | True holds a Physics Object still until Logic writes false. Other motion settings belong to Transform. | Yes |
| Restitution (restitution) | number | 0 | Bounce coefficient shown as Bounciness (0–1) in the editor, with stored values clamped to at least 0. | Yes |
| Friction (friction) | number | 0 | Surface grip at contact. The editor accepts 0 to 1; stored values are clamped to at least 0. | Yes |
| Shape (geometry.shape) | text | “box” | Stored choices: box, roundedbox, circle, capsule, ellipse, polygon, model, sprite, or none. The editor offers the current Object’s shape choices. | Yes |
| Local Position (geometry.transform.position) | vec3 | {“x”:0,“y”:0,“z”:0} | Offset from the fixed Object origin in its local coordinate frame. | Yes |
| Local Position X (geometry.transform.position.x) | number | 0 | X component of the Collider-local offset. | Yes |
| Local Position Y (geometry.transform.position.y) | number | 0 | Offset on Y, using the current project’s axis convention. | Yes |
| Local Position Z (geometry.transform.position.z) | number | 0 | Z component of the Collider-local offset; 2D contacts ignore this axis. | Yes |
| Local Size (geometry.transform.size) | vec3 | {“x”:1,“y”:1,“z”:1} | Collider-local extents on all three axes, measured in meters for World Objects and pixels for Screen UI. | Yes |
| Width (geometry.transform.size.x) | number | 1 | Extent along the Collider’s local X axis. | Yes |
| Height (geometry.transform.size.y) | number | 1 | Y extent of this Collider. | Yes |
| Depth Size (geometry.transform.size.z) | number | 1 | Stored Z extent, which never adds depth to a 2D collision shape. | Yes |
| Local Rotation (geometry.transform.rotation) | vec3 | {“x”:0,“y”:0,“z”:0} | Local rotation vector, in degrees. The 2D Collider uses its Z component. | Yes |
| Local Rotation (geometry.transform.rotation.z) | number | 0 | Z-axis rotation, in degrees, following the project’s coordinate convention. | Yes |
| Collision Model (geometry.model) | thing:model | Not stored; see behavior | Model resource selected for the model shape, with a blank reference selecting the Object’s own visual Model. | No |
| Collision Model Fit (geometry.modelFit) | text | Not stored; see behavior | For the model shape: box means Bounding Box, and mesh means Model Mesh. The normalized default is box. | No |
| Corner Radius (geometry.cornerRadius) | number | Not stored; see behavior | Rounded-box radius, capped at half the smaller X or Y extent. Other shapes omit this field. | Yes |
| Rounded Corners (geometry.roundedCorners) | number | Not stored; see behavior | Rounded-box corner bit mask from 0 to 15, omitted for other shapes. | Yes |
| Polygon Mode (geometry.polygonMode) | text | Not stored; see behavior | For polygon geometry, drawn uses edited vertices and regular uses generated vertices. | Yes |
| Polygon Sides (geometry.sides) | number | Not stored; see behavior | Regular polygon side count, rounded and clamped to 3 to 32; drawn polygons use their saved vertices. | Yes |
| Polygon Radius (geometry.regularRadius) | number | Not stored; see behavior | Distance from a regular polygon’s center to each of its vertices. | Yes |
| Polygon Angle (geometry.regularAngle) | number | Not stored; see behavior | Regular polygon starting angle, in degrees. | Yes |
| Tags (tags) | text | Not stored; see behavior | Collider Tag labels, read and written as comma-separated Text. They are separate from Object Tags. | Yes |
| Interaction Filter Mode (interactionFilter.mode) | text | “all” | The editor maps all to Everything, whitelist to Collide Only With, and blacklist to Never Collide With. An empty whitelist accepts no partner. | Yes |
| Interaction Filter Entries (interactionFilter.objects) | text | [] | Object names or tag:Label entries, supplied as comma-separated Text. An empty blacklist excludes no partner. | Yes |
| Other Collider (other) | thing:collider | Not stored; see behavior | Read-only partner Collider for this Collider in the active Collision pair; None outside that context or for tile contacts. | No |
| Touching Colliders (touching) | array | Not stored; see behavior | Read-only array of permitted touching Colliders. Tiles and Colliders on ancestor or descendant Objects are excluded by default. | No |
| Touching Count (touching.count) | number | Not stored; see behavior | Read-only number of entries in touching; several Colliders on one partner can each add an entry. | No |
| Blocked Left (blocked.left) | boolean | Not stored; see behavior | Read-only flag for contact on the body’s left side during physics updates. | No |
| Blocked Right (blocked.right) | boolean | Not stored; see behavior | Reports contact on the body’s right side. | No |
| Blocked Above (blocked.top) | boolean | Not stored; see behavior | Read-only flag for contact from above; it describes the current physics update. | No |
| Blocked Below (blocked.bottom) | boolean | Not stored; see behavior | Reports contact below the body during the current physics update. | No |
Myth Engine Documentation
