# CastShapeProxy

> Returns the shape(s) that intersect the specified shape proxy as it is cast through the world. Neither PhysicsShape.ShapeType.Segment or PhysicsShape.ShapeType.ChainSegment shape types are supported. See PhysicsQuery.QueryFilter, PhysicsQuery.WorldCastMode, PhysicsQuery.WorldCastResult and Allocator.

## Definition

* **Type:** Method
* **Namespace:** [Unity.U2D.Physics](/engine/6000.7/script-reference/unity/u2d/physics.md)
* **Assembly:** UnityEngine.PhysicsCore2DModule

## CastShapeProxy(ShapeProxy, Vector2, QueryFilter, WorldCastMode, Allocator)

Returns the shape(s) that intersect the specified shape proxy as it is cast through the world. Neither [PhysicsShape.ShapeType.Segment](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/shapetype/segment.md) or [PhysicsShape.ShapeType.ChainSegment](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/shapetype/chainsegment.md) shape types are supported. See [PhysicsQuery.QueryFilter](/engine/6000.7/script-reference/unity/u2d/physics/physicsquery/queryfilter.md), [PhysicsQuery.WorldCastMode](/engine/6000.7/script-reference/unity/u2d/physics/physicsquery/worldcastmode.md), [PhysicsQuery.WorldCastResult](/engine/6000.7/script-reference/unity/u2d/physics/physicsquery/worldcastresult.md) and [Allocator](/engine/6000.7/script-reference/unity/collections/allocator.md).

```csharp
public NativeArray<PhysicsQuery.WorldCastResult> CastShapeProxy(PhysicsShape.ShapeProxy shapeProxy, Vector2 translation, PhysicsQuery.QueryFilter filter, PhysicsQuery.WorldCastMode castMode = WorldCastMode.Closest, Allocator allocator = Allocator.Temp)
```

### Parameters

**** (\[ShapeProxy]\(/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/shapeproxy)): The shape proxy to use. This must be in world-space.**** (\[Vector2]\(/engine/6000.7/script-reference/unityengine/vector2)): The translation relative to the shape proxy defining the direction the shape proxy will move through the world.**** (\[QueryFilter]\(/engine/6000.7/script-reference/unity/u2d/physics/physicsquery/queryfilter)): The filter to control what results are returned.**** (\[WorldCastMode]\(/engine/6000.7/script-reference/unity/u2d/physics/physicsquery/worldcastmode)): Controls how many and in what order the results are returned.**** (\[Allocator]\(/engine/6000.7/script-reference/unity/collections/allocator)): The memory allocator to use for the results. This can only be [Allocator.Temp](/engine/6000.7/script-reference/unity/collections/allocator/temp.md), [Allocator.TempJob](/engine/6000.7/script-reference/unity/collections/allocator/tempjob.md) or [Allocator.Persistent](/engine/6000.7/script-reference/unity/collections/allocator/persistent.md).

### Returns

| Type                                                                                               | Description                                                                                                                                        |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [NativeArray\<WorldCastResult>](/engine/6000.7/script-reference/unity/collections/nativearray1.md) | The query cast results. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty. |

## CastShapeProxy(ShapeProxy, Vector2, Vector2, QueryFilter, WorldCastMode, Allocator)

Returns the shape(s) that intersect the specified shape proxy as it is cast through the world. Neither [PhysicsShape.ShapeType.Segment](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/shapetype/segment.md) or [PhysicsShape.ShapeType.ChainSegment](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/shapetype/chainsegment.md) shape types are supported. See [PhysicsQuery.QueryFilter](/engine/6000.7/script-reference/unity/u2d/physics/physicsquery/queryfilter.md), [PhysicsQuery.WorldCastMode](/engine/6000.7/script-reference/unity/u2d/physics/physicsquery/worldcastmode.md), [PhysicsQuery.WorldCastResult](/engine/6000.7/script-reference/unity/u2d/physics/physicsquery/worldcastresult.md) and [Allocator](/engine/6000.7/script-reference/unity/collections/allocator.md).

```csharp
public NativeArray<PhysicsQuery.WorldCastResult> CastShapeProxy(PhysicsShape.ShapeProxy shapeProxy, Vector2 origin, Vector2 translation, PhysicsQuery.QueryFilter filter, PhysicsQuery.WorldCastMode castMode = WorldCastMode.Closest, Allocator allocator = Allocator.Temp)
```

### Parameters

**** (\[ShapeProxy]\(/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/shapeproxy)): The shape proxy to use. This must be in local-space, relative to `origin`.**** (\[Vector2]\(/engine/6000.7/script-reference/unityengine/vector2)): The point, in world space, that the shape proxy is defined relative to. This lets the proxy be authored in a local frame instead of being translated into world space before the cast. It has no effect on `translation`, which is a direction.**** (\[Vector2]\(/engine/6000.7/script-reference/unityengine/vector2)): The translation relative to the shape proxy defining the direction the shape proxy will move through the world.**** (\[QueryFilter]\(/engine/6000.7/script-reference/unity/u2d/physics/physicsquery/queryfilter)): The filter to control what results are returned.**** (\[WorldCastMode]\(/engine/6000.7/script-reference/unity/u2d/physics/physicsquery/worldcastmode)): Controls how many and in what order the results are returned.**** (\[Allocator]\(/engine/6000.7/script-reference/unity/collections/allocator)): The memory allocator to use for the results. This can only be [Allocator.Temp](/engine/6000.7/script-reference/unity/collections/allocator/temp.md), [Allocator.TempJob](/engine/6000.7/script-reference/unity/collections/allocator/tempjob.md) or [Allocator.Persistent](/engine/6000.7/script-reference/unity/collections/allocator/persistent.md).

### Returns

| Type                                                                                               | Description                                                                                                                                        |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [NativeArray\<WorldCastResult>](/engine/6000.7/script-reference/unity/collections/nativearray1.md) | The query cast results. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty. |
