# CastRay(CastRayInput, QueryFilter, WorldCastMode, Allocator)

> Returns the shape(s) that intersect the specified Ray. Technically this is a line-segment and not an infinite ray. See PhysicsQuery.QueryFilter, PhysicsQuery.WorldCastMode, PhysicsQuery.WorldCastResult and Allocator.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.LowLevelPhysics2D](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d.md)
* **Assembly:** UnityEngine.Physics2DModule

```csharp
public NativeArray<PhysicsQuery.WorldCastResult> CastRay(PhysicsQuery.CastRayInput input, PhysicsQuery.QueryFilter filter, PhysicsQuery.WorldCastMode castMode = WorldCastMode.Closest, Allocator allocator = Allocator.Temp)
```

### Parameters

**** (\[CastRayInput]\(/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsquery/castrayinput)): The configuration of the ray to cast.**** (\[QueryFilter]\(/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsquery/queryfilter)): The filter to control what results are returned.**** (\[WorldCastMode]\(/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsquery/worldcastmode)): Controls how many and in what order the results are returned.**** (\[Allocator]\(/engine/6000.3/script-reference/unity/collections/allocator)): The memory allocator to use for the results. This can only be [Allocator.Temp](/engine/6000.3/script-reference/unity/collections/allocator/temp.md), [Allocator.TempJob](/engine/6000.3/script-reference/unity/collections/allocator/tempjob.md) or [Allocator.Persistent](/engine/6000.3/script-reference/unity/collections/allocator/persistent.md).

### Returns

| Type                                                                                               | Description                                                                                                                                        |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [NativeArray\<WorldCastResult>](/engine/6000.3/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. |
