Multiple Raycasts & Vector3.Reflects in a row. How?

I’m trying to make a raycast reflect off multiple surfaces. I can successfully get one reflection but am currently stuck on how to do multiple.

I guess I’m stuck on where to start the second raycast from. Can anyone help me figure this out?

          RaycastHit hit2;
          RaycastHit hit3;
          Debug.DrawRay(transform.position, transform.up * 100f,;

          //First raycast and reflect
          if(Physics.Raycast(transform.position, transform.up, out hit2, 100f))
                Vector3 newDir = Vector3.Reflect(transform.up, hit2.normal);
                Debug.DrawRay(hit2.point, newDir * 100f,;

                //Attempting next raycast and reflect.
                if(Physics.Raycast(hit2.point, newDir, out hit3, 100f ))
                Vector3 newDir1 = Vector3.Reflect(transform.up, hit3.normal);
                Debug.DrawRay(hit3.point, newDir1 * 100f,;


The second raycast direction is the Vector3 that the Reflect() function returns. Just keep doing the exact same all the way along. You give Reflect an inNormal and inDirection and it gives you the direction you need. Shoot a ray in that direction. The direction returned by the function is the equal magnitude/length of the inDirection, so if you would prefer normalizing it for readablility/usability, just use Vector3.Reflect(inDirection, inNormal).normalized;