Getting position of touch on gameObject

I have a background at like position (0,0) and I can get the position of the touch and it gives me (0,0) but I want to get the position where on the gameObject the touch is (maybe from collider or something.

  1. Throw a ray from the touch point through the camera, into the scene with Camera.ScreenPointToRay

  2. Then use Physics.Raycast to cast the ray and see which collider it hits. Alternatively, if you want to check only a specific collider, you can use Collider.Raycast

  3. Get the 3D point in space where the hit happened from RaycastHit.point

Good Luck!