0
0
UnityConceptBeginner · 3 min read

What Is Raycast in Unity: Explanation and Example

In Unity, Raycast is a way to shoot an invisible line (ray) from a point in a direction to detect if it hits any objects. It helps you find out what is in front of something, like checking if a player is looking at a wall or an enemy.
⚙️

How It Works

Imagine shining a laser pointer in a dark room. The laser beam travels straight until it hits something. In Unity, Raycast works like that laser beam. You start from a point in space and send out a straight line in a direction.

If the ray touches an object with a collider, Unity tells you what it hit and where. This helps your game know if something is in the way or if you can interact with an object.

Behind the scenes, Unity checks all objects in the path of the ray quickly and returns the first one it hits, making it efficient for things like shooting, picking items, or line-of-sight checks.

💻

Example

This example shows how to use Physics.Raycast to detect if the player is looking at an object within 10 units in front of them.

csharp
using UnityEngine;

public class RaycastExample : MonoBehaviour
{
    void Update()
    {
        Ray ray = new Ray(transform.position, transform.forward);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit, 10f))
        {
            Debug.Log("Hit object: " + hit.collider.name);
        }
        else
        {
            Debug.Log("Nothing hit within 10 units.");
        }
    }
}
Output
Hit object: Cube // or Nothing hit within 10 units.
🎯

When to Use

Use Raycast when you need to check if something is in a straight line from a point. Common uses include:

  • Detecting if a player’s shot hits an enemy.
  • Checking if the player can see or reach an object.
  • Implementing line-of-sight for AI characters.
  • Picking up or interacting with objects by pointing at them.

It is useful whenever you want to simulate a straight path check without physically moving anything.

Key Points

  • Raycast sends an invisible line to detect objects.
  • It returns information about the first object hit.
  • Used for shooting, interaction, and visibility checks.
  • Requires objects to have colliders to detect hits.
  • Can limit distance to improve performance and accuracy.

Key Takeaways

Raycast in Unity shoots an invisible line to detect objects in a direction.
It helps check what is directly in front of a point, like a player or camera.
Use Raycast for shooting, picking objects, or AI line-of-sight.
Raycast only detects objects with colliders and can be limited by distance.
It is a fast and efficient way to detect collisions without moving objects.