# Ray2D

> Creates a 2D ray starting at Ray2D.origin along Ray2D.direction.

## Definition

* **Type:** Constructor
* **Namespace:** [UnityEngine](/engine/6000.6/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

## Ray2D(Vector2, Vector2)

Creates a 2D ray starting at [Ray2D.origin](/engine/6000.6/script-reference/unityengine/ray2d/origin.md) along [Ray2D.direction](/engine/6000.6/script-reference/unityengine/ray2d/direction.md).

```csharp
public Ray2D(Vector2 origin, Vector2 direction)
```

### Parameters

**** (\[Vector2]\(/engine/6000.6/script-reference/unityengine/vector2)): **** (\[Vector2]\(/engine/6000.6/script-reference/unityengine/vector2)):&#x20;

### Examples

```csharp
using UnityEngine;

public class ExampleClass : MonoBehaviour
{
    void Start()
    {
        // Create a ray from the transform position along the transform's z-axis
        Ray2D ray = new Ray2D(transform.position, transform.forward);
    }
}
```

## Ray2D(Vector2, Vector2)

Creates a 2D ray starting at [Ray2D.origin](/engine/6000.6/script-reference/unityengine/ray2d/origin.md) along [Ray2D.direction](/engine/6000.6/script-reference/unityengine/ray2d/direction.md).

```csharp
public Ray2D(in Vector2 origin, in Vector2 direction)
```

### Parameters

**** (\[Vector2]\(/engine/6000.6/script-reference/unityengine/vector2)): **** (\[Vector2]\(/engine/6000.6/script-reference/unityengine/vector2)):&#x20;

### Examples

```csharp
using UnityEngine;

public class ExampleClass : MonoBehaviour
{
    void Start()
    {
        // Create a ray from the transform position along the transform's z-axis
        Ray2D ray = new Ray2D(transform.position, transform.forward);
    }
}
```
