how to detect exact touch location of an object and add new object at the same touch position

I am trying to add new object on touched location of GameObject (base plane) , I am unable to get the exact touch location where user clicked . the new object will not be child of base plane , that will be child of another GameObject which is present in base plane.

I tried using with raycast but it didn’t work well , able to add object but not the required(touched) location.

Vector3 dustbinLocation = new Vector3(raycastHit.transform.position.x, 180.0f, raycastHit.transform.position.z);
GameObject newDustbin = Instantiate(singleDustBin, dustbinLocation, Quaternion.identity);
newDustbin.transform.SetParent(dustBinPrefab.transform);

May be it is a small question but I am completely fresher to Unity , I tried all ways to find solution but no luck.
any suggestion will be appreciated , Thank you,

Hello @unity_Cg69H1zaRELtQg,

You can indeed use Raycast and especially RaycastHit.point property

Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if(Physics.Raycast(ray, out hit, 100)){
  Debug.Log(hit.point);
}        

Can you guys help me with this error. I tried to do like this: Username = Email, Password = Password but it did not work. I tried to restart my computer but it didn’t either. I did 10+ times but i had same error.