# implicit operator bool(RaycastHit2D)

> Implicit operator used to return a true or false result indicating if the result is valid or not.

## Definition

* **Type:** Operator
* **Namespace:** [UnityEngine](/engine/6000.0/script-reference/unityengine.md)
* **Assembly:** UnityEngine.Physics2DModule

## implicit operator bool(Boolea)

```csharp
public static implicit operator bool(RaycastHit2D hit)
```

### Parameters

**** (\[RaycastHit2D]\(/engine/6000.0/script-reference/unityengine/raycasthit2d)): The RaycastHit2D to being checked for valid results.

### Returns

| Type                                                          | Description |
| ------------------------------------------------------------- | ----------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) |             |

### Remarks

When using any physics query that returns a RaycastHit2D, you should always first check to see if it contains a valid result which indicates a hit (intersection) was detected. You can do this by checking if the RaycastHit2D is `true` or `false`.

**NOTE:** A valid result is indicated by the field [Collider](/engine/6000.0/script-reference/unityengine/raycasthit2d/collider.md) referring to a valid [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) i.e. not being NULL. This operator is therefore equivalent to checking if that field is NULL ( `false` ) or not NULL ( `true` ).

### Examples

```csharp
using UnityEngine;

public class ExampleClass : MonoBehaviour
{
    public Vector2 direction;

    void Update()
    {
        // Cast a ray in the direction specified in the inspector.
        RaycastHit2D hit = Physics2D.Raycast(transform.position, direction);

        // If something was hit, draw a line from the start position to the point we intersected.
        if (hit)
            Debug.DrawLine(transform.position, hit.point, Color.yellow);
    }
}
```
