Version: 2023.2
LanguageEnglish
  • C#

CompositeCollider2D

class in UnityEngine

/

Inherits from:Collider2D

/

Implemented in:UnityEngine.Physics2DModule

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual

Description

A Collider that can merge other Colliders together.

A CompositeCollider2D merges other Colliders together when their Collider2D.compositeOperation is anything other than Collider2D.CompositeOperation.None, that is, whenever a composite operation is selected.

When a Composite Collider uses a Collider, the Editor will ignore and not show the Collider2D.sharedMaterial, Collider2D.isTrigger & Collider2D.compositeOperation properties. The same properties on the CompositeCollider2D will be used instead. You should set these properties on the Composite Collider to merge all Colliders into the Composite Collider.

NOTE: This Collider2D cannot be disabled/enabled with the Behaviour.enabled property. Any changes to that property will be ignored.

Properties

edgeRadiusControls the radius of all edges created by the Collider.
generationTypeSpecifies when to generate the Composite Collider geometry.
geometryTypeSpecifies the type of geometry the Composite Collider should generate.
offsetDistanceVertices are offset by this distance when compositing multiple physic shapes. Any vertices between shapes within this distance are combined.
pathCountThe number of paths in the Collider.
pointCountGets the total number of points in all the paths within the Collider.
useDelaunayMeshWhen the value is true, the Collider uses an additional Delaunay triangulation step to produce the Collider mesh. When the value is false, this additional step does not occur.
vertexDistanceControls the minimum distance allowed between generated vertices.

Public Methods

GenerateGeometryRegenerates the Composite Collider geometry.
GetCompositedCollidersWhen any Collider2D is using any composite operation other than Collider2D.CompositeOperation.None then it is used by this CompositeCollider2D.
GetPathGets a path from the Collider by its index.
GetPathPointCountGets the number of points in the specified path from the Collider by its index.

Inherited Members

Properties

enabledEnabled Behaviours are Updated, disabled Behaviours are not.
isActiveAndEnabledReports whether a GameObject and its associated Behaviour is active and enabled.
attachedRigidbodyThe Rigidbody2D attached to the Collider2D.
bouncinessGet the bounciness used by the collider.
boundsThe world space bounding area of the collider.
callbackLayersThe Layers that this Collider2D will report collision or trigger callbacks for during a contact with another Collider2D.
compositeGet the CompositeCollider2D that is available to be attached to the collider.
compositeCapableIndicates if this Collider2D is capable of being composited by the CompositeCollider2D.
compositeOperationThe composite operation to be used by a CompositeCollider2D.
compositeOrderThe composite operation order to be used when a CompositeCollider2D is used.
contactCaptureLayersThe layers of other Collider2D involved in contacts with this Collider2D that will be captured.
densityThe density of the collider used to calculate its mass (when auto mass is enabled).
errorStateThe error state that indicates the state of the physics shapes the 2D Collider tried to create. (Read Only)
excludeLayersThe additional Layers that this Collider2D should exclude when deciding if a contact with another Collider2D should happen or not.
forceReceiveLayersThe Layers that this Collider2D can receive forces from during a Collision contact with another Collider2D.
forceSendLayersThe Layers that this Collider2D is allowed to send forces to during a Collision contact with another Collider2D.
frictionGet the friction used by the collider.
includeLayersThe additional Layers that this Collider2D should include when deciding if a contact with another Collider2D should happen or not.
isTriggerIs this collider configured as a trigger?
layerOverridePriorityA decision priority assigned to this Collider2D used when there is a conflicting decision on whether a contact between itself and another Collision2D should happen or not.
localToWorldMatrixThe transformation matrix used to transform the Collider physics shapes to world space.
offsetThe local offset of the collider geometry.
shapeCountThe number of active PhysicsShape2D the Collider2D is currently using.
sharedMaterialThe PhysicsMaterial2D that is applied to this collider.
usedByEffectorWhether the collider is used by an attached effector or not.
gameObjectThe game object this component is attached to. A component is always attached to a game object.
tagThe tag of this game object.
transformThe Transform attached to this GameObject.
hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
nameThe name of the object.

Public Methods

CastCasts the Collider shape into the Scene starting at the Collider position ignoring the Collider itself.
ClosestPointReturns a point on the perimeter of this Collider that is closest to the specified position.
CreateMeshCreates a planar Mesh that is identical to the area defined by the Collider2D geometry.
DistanceCalculates the minimum separation of this collider against another collider.
GetContactsRetrieves all contact points for this Collider.
GetShapeBoundsRetrieves a list of Bounds for all PhysicsShape2D created by this Collider2D, and returns the combined Bounds of the retrieved list.
GetShapeHashGenerates a simple hash value based upon the geometry of the Collider2D.
GetShapesGets all the PhysicsShape2D used by the Collider2D.
IsTouchingCheck whether this collider is touching the collider or not.
IsTouchingLayersChecks whether this collider is touching any colliders on the specified layerMask or not.
OverlapGet a list of all Colliders that overlap this Collider.
OverlapPointCheck if a collider overlaps a point in space.
RaycastCasts a ray into the Scene that starts at the Collider position and ignores the Collider itself.
BroadcastMessageCalls the method named methodName on every MonoBehaviour in this game object or any of its children.
CompareTagChecks the GameObject's tag against the defined tag.
GetComponentGets a reference to a component of type T on the same GameObject as the component specified.
GetComponentInChildrenGets a reference to a component of type T on the same GameObject as the component specified, or any child of the GameObject.
GetComponentInParentGets a reference to a component of type T on the same GameObject as the component specified, or any parent of the GameObject.
GetComponentsGets references to all components of type T on the same GameObject as the component specified.
GetComponentsInChildrenGets references to all components of type T on the same GameObject as the component specified, and any child of the GameObject.
GetComponentsInParentGets references to all components of type T on the same GameObject as the component specified, and any parent of the GameObject.
SendMessageCalls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwardsCalls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
TryGetComponentGets the component of the specified type, if it exists.
GetInstanceIDGets the instance ID of the object.
ToStringReturns the name of the object.

Static Methods

DestroyRemoves a GameObject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindAnyObjectByTypeRetrieves any active loaded object of Type type.
FindFirstObjectByTypeRetrieves the first active loaded object of Type type.
FindObjectsByTypeRetrieves a list of all loaded objects of Type type.
InstantiateClones the object original and returns the clone.

Operators

boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.

Messages

OnCollisionEnter2DSent when an incoming collider makes contact with this object's collider (2D physics only).
OnCollisionExit2DSent when a collider on another object stops touching this object's collider (2D physics only).
OnCollisionStay2DSent each frame where a collider on another object is touching this object's collider (2D physics only).
OnTriggerEnter2DSent when another object enters a trigger collider attached to this object (2D physics only).
OnTriggerExit2DSent when another object leaves a trigger collider attached to this object (2D physics only).
OnTriggerStay2DSent each frame where another object is within a trigger collider attached to this object (2D physics only).