For RaycastHit, is hit.transform always the same as hit.transform.gameObject.transform
It is the same. If you wanted (I don’t know why someone would) you could even do something like: hit.transform.gameObject.transform.gameObject.transform.gameObject.transform or hit.transform.gameObject.rigidbody.transform.gameObject.transform.rigidbody.gameObject.transform
Just use hit.transform.