Scripting API

Collider2D

class in UnityEngine · UnityEngine.Physics2DModule · inherits from Behaviour

29 of 41 of Unity's membersUnity's documentation
In Tassix

Base class for 2D colliders (Box2D fixtures, see tassix_physics2d). A collider joins the nearest Rigidbody2D up its hierarchy, or is static. Shapes live in the XY plane and scale with the transform.

Properties 19

Rigidbody2D? attachedRigidbody { get; }

The nearest Rigidbody2D on this object or up its hierarchy.

float bounciness { get; }
Bounds bounds { get; }

World-space bounds of the shape (zero depth, at the transform's Z).

LayerMask callbackLayers { get; set; }
CompositeCollider2D? composite { get; }

The CompositeCollider2D this collider is merged into, if any.

bool compositeCapable { get; }
CompositeOperation compositeOperation { get; set; }
int compositeOrder { get; set; }
LayerMask contactCaptureLayers { get; set; }
float density { get; set; }

Used for the body's mass when Rigidbody2D.useAutoMass is on.

LayerMask excludeLayers { get; set; }
float friction { get; }
LayerMask includeLayers { get; set; }
bool isTrigger { get; set; }
Vector2 offset { get; set; }
int shapeCount { get; }
PhysicsMaterial2D? sharedMaterial { get; set; }

The material; null means the Rigidbody2D's, then the default (friction 0.4, bounciness 0).

bool usedByComposite { get; set; }

Merged into a CompositeCollider2D on its Rigidbody2D (compositeOperation Merge).

bool usedByEffector { get; set; }

Whether an effector on the GameObject acts on this collider (a PlatformEffector2D makes it one-way).

Methods 12

bool CanContact(Collider2D collider)

Whether this collider can come into contact with collider (enabled, layers, ignored pairs, bodies).

int Cast(Vector2 direction, RaycastHit2D[] results, float distance = float.PositiveInfinity, bool ignoreSiblingColliders = true)
int Cast(Vector2 direction, RaycastHit2D[] results)
int Cast(Vector2 direction, RaycastHit2D[] results, float distance)
int Cast(Vector2 direction, ContactFilter2D contactFilter, RaycastHit2D[] results, float distance = float.PositiveInfinity, bool ignoreSiblingColliders = true)
int Cast(Vector2 direction, ContactFilter2D contactFilter, RaycastHit2D[] results)
int Cast(Vector2 direction, ContactFilter2D contactFilter, RaycastHit2D[] results, float distance)
int Cast(Vector2 direction, List<RaycastHit2D> results, float distance = float.PositiveInfinity, bool ignoreSiblingColliders = true)
int Cast(Vector2 direction, ContactFilter2D contactFilter, List<RaycastHit2D> results, float distance = float.PositiveInfinity, bool ignoreSiblingColliders = true)
Vector2 ClosestPoint(Vector2 position)
Mesh? CreateMesh(bool useBodyPosition, bool useBodyRotation)

A planar mesh of the area the shape covers: its outlines (holes cut out) triangulated, in world space, or relative to the attached body's position and rotation when asked. Null without an area (edges, empty shapes).

ColliderDistance2D Distance(Collider2D collider)
int GetContacts(ContactPoint2D[] contacts)
int GetContacts(List<ContactPoint2D> contacts)
int GetContacts(ContactFilter2D contactFilter, ContactPoint2D[] contacts)
int GetContacts(ContactFilter2D contactFilter, List<ContactPoint2D> contacts)
int GetContacts(Collider2D[] colliders)
int GetContacts(List<Collider2D> colliders)
int GetContacts(ContactFilter2D contactFilter, Collider2D[] colliders)
int GetContacts(ContactFilter2D contactFilter, List<Collider2D> colliders)
uint GetShapeHash()

A hash of the shape's geometry where it is: equal shapes in equal places hash alike.

bool IsTouching(Collider2D collider)
bool IsTouching(Collider2D collider, ContactFilter2D contactFilter)
bool IsTouching(ContactFilter2D contactFilter)
bool IsTouchingLayers(int layerMask = Physics2D.AllLayers)
bool IsTouchingLayers()
int Overlap(ContactFilter2D contactFilter, Collider2D[] results)
int Overlap(ContactFilter2D contactFilter, List<Collider2D> results)
int Overlap(List<Collider2D> results)
bool OverlapPoint(Vector2 point)

Whether the world point lies inside this collider.

int Raycast(Vector2 direction, RaycastHit2D[] results, float distance = float.PositiveInfinity)
int Raycast(Vector2 direction, RaycastHit2D[] results)

Casts a ray against this collider alone.

Not in Tassix yet 12

CreateMesh GetShapeBounds GetShapeHash GetShapes bounceCombine contactMask errorState forceReceiveLayers forceSendLayers frictionCombine layerOverridePriority localToWorldMatrix

Checked against Unity

Conformance scenarios that exercise it, recorded in Unity and compared event by event.