See all glossary terms

Raycast

A raycast is a technique for detecting collisions between a straight line and an object. It's like firing a laser beam from a point in space and seeing if it hits anything.
In Godot, you can use raycasts to detect collisions in 2D and 3D games with the RayCast2D and RayCast3D nodes. You can control the direction and length of the ray with the nodes' target_position property.
If the ray intersects with another object, the raycast node tells you the position of the intersection point and the object it hit. You can also get the normal of the surface that the ray hits, that is, a vector perpendicular to the surface that tells you the direction the surface is facing.
Raycasts are used for many mechanics and features, including:
  • Detecting if a player can access a specific position.
  • Grappling onto ledges
  • Checking if a fast-moving projectile hits an enemy.
  • Placing objects on a terrain or the ground.
  • Implementing line of sight for enemies.
  • Finding what the player is clicking on or hovering over with the mouse in a 3D game.