ScreenToWorldPoint produces two identical output for different input vecotrs

In the update function of my script attached to the main camera, inherited from MonoBehaviour I have a piece of code where there seems to be two different vector inputs to the ScreenToWorldPoint method of the camera component, but they produce identical outputs.
I have attached a screenshot and its very self explanatory in the watch list when I debugged my code.

My purpose is to make my camera follow my finger drag smoothly in my 2D game (doesnt seem like too much to ask)
Any kind of help is appreciated.

Note that the Z coordinate in the parameter of Camera.ScreenToWorldPoint is used to specify a distance from the camera. This distance (if positive) is “into” the screen.

If you pass a zero in there for that: because of the way the projection math works, you will always get the camera’s position. Instead put a value in there that is the distance from the camera you want. The “screen” itself, is at a distance of the camera’s nearClipPlane.

e.g. add in

currPos.z = mainCamera.nearClipPlane;

and

lastPos.z = mainCamera.nearClipPlane;