Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Physics2D.OverlapArea

static function OverlapArea(pointA: Vector2, pointB: Vector2, layerMask: int = DefaultRaycastLayers, minDepth: float = -Mathf.Infinity, maxDepth: float = Mathf.Infinity): Collider2D;
static Collider2D OverlapArea(Vector2 pointA, Vector2 pointB, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);
static def OverlapArea(pointA as Vector2, pointB as Vector2, layerMask as int = DefaultRaycastLayers, minDepth as float = -Mathf.Infinity, maxDepth as float = Mathf.Infinity) as Collider2D

Parameters

pointAOne corner of the rectangle.
pointBDiagonally opposite corner of the rectangle.
layerMaskFilter to check objects only on specific layers.
minDepthOnly include objects with a Z coordinate (depth) greater than this value.
maxDepthOnly include objects with a Z coordinate (depth) less than this value.

Description

Check if a collider falls within a rectangular area.

The rectangle is defined by two diagonally opposite corner coordinates in world space. You can think of these as top-left and bottom-right but the test will still work if the ordering of the points is reversed. The optional layerMask allows the test to check only for objects on specific layers.

Although the Z axis is not relevant for rendering or collisions in 2D, you can use the minDepth and maxDepth parameters to filter objects based on their Z coordinate. If more than one collider falls within the area then the one returned will be the one with the lowest Z coordinate value. Null is returned if there are no colliders in the area.

Note that this function will allocate memory for the returned Collider2D object. You can use OverlapAreaNonAlloc to avoid this overhead if you need to make the check frequently.

See Also: OverlapCircle, OverlapPoint, OverlapCircleAll, OverlapAreaNonAlloc.