Tag Archives: raycast

Unity3D and Raycasts in a 2D Scene

Note to self: When using RaycastHit2D in Unity make sure that the GameObjects you’re attempting to collide with have a Rigidbody component or those rays are going to shoot right on through!  In a 2D scene where you’re not bothered about gravity its helpful to make those Rigid bodies kinematic as well else they’ll fall to nowhere. #stilllearning

An example detecting a GameObject located below a touch event:

Touch touch = Input.touches [0];

Ray ray = Camera.main.ScreenPointToRay(touch.position);
RaycastHit2D hit = Physics2D.GetRayIntersection(ray);

if (hit) {
    Debug.Log ("Hit: " + hit.transform.gameObject.name);
    // Do something with the GameObject...