shoot to cursor 3rd person shooteréplatformer

I am confused how to make this thing work. Help please. Thanks in advance.

I have a character on screen for a typical 2d platformer and I want to add a shoot toward mouse cursor on click.

To my understanding it should be something like getting the point in 3d world space where my mouse would be via screentoworldpoint and then having my “gun” lookat that point.

targetpoint = cameraObj.camera.ScreenToWorldPoint(Vector3(Input.mousePosition.x, Input.mousePosition.y,30));
launcherspot.transform.LookAt(targetpoint,Vector3.up);

so what am I doing wrong?
also I am trying to get a gizmo to show up for debuggin purposes but it wont show:

function OnDrawGizmosSelected () {
Gizmos.color = Color.yellow;
Gizmos.DrawSphere (Vector3(0,0,0), 1);
}

This is how I did it in a top down.

Vector3 mousePosition = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Camera.main.transform.position.y - turret.transform.position.y);
Vector3 turretRot = Camera.main.ScreenToWorldPoint(mousePosition);
Quaternion targetRotation = Quaternion.LookRotation(turretRot - new Vector3(turret.transform.position.x,0,turret.transform.position.z));
turret.transform.rotation = Quaternion.Slerp(turret.transform.rotation, targetRotation, 10 * Time.time);