callbackLayers
The Layers that this Collider2D will report collision or trigger callbacks for during a contact with another Collider2D.
Read time 1 minuteLast updated 4 days ago
Definition
- Type: Property
- Namespace: UnityEngine
- Assembly: UnityEngine.Physics2DModule
public LayerMask callbackLayers { get; set; }
Remarks
When a contact occurs between two Collider2D, each Collider2D will get a collision or trigger callback. This options allows you to select which layer(s) will produce a callback.
The ability to limit which layers will result in a callback can reduce the complexity of the script inside the callback so that it can safely assume only specific layers will be reported. There is also a performance benefit in not performing callbacks that are not required.
These are all the physics callbacks which are affected by callback layers:
-
OnCollisionEnter2D -
OnCollisionStay2D -
OnCollisionExit2D -
OnTriggerEnter2D -
OnTriggerStay2D -
OnTriggerExit2D
NOTES:
-
This does not control whether the Collider2D will come into contact or not but simply if the resultant callback will happen.
-
Even if all callback layers are selected, only contacts captured via _contactCaptureLayers, will be reported.
-
The other Collider2D involved in any contact callback disabled here will still receive callbacks defined by its own callbackLayers property.
-
Normally both the Collider2D and the Rigidbody2D it is attached to receive a callback therefore this option controls both those component callbacks.
-
When enabling callback layers where callbacks already exist, those contacts will not be reported as new contacts i.e. there will not be anor
OnCollisionEnter2Dcallback produced.OnTriggerEnter2D
Additional Resources: LayerMask