Is this a valid way of mapping to world coordinates?

I took a vastly simpler approach:

public class DefenderSpawner : MonoBehaviour {

	void OnMouseDown () {
		Instantiate (
			Button.GetSelectedDefender (),
			MouseClickToWorldPoint (Input.mousePosition),
			Quaternion.identity
		);
	}

	private Vector2 MouseClickToWorldPoint (Vector3 clickPoint) {
		Vector3 worldPoint = Camera.main.ScreenToWorldPoint (clickPoint);
		return new Vector2 (Mathf.Round (worldPoint.x), Mathf.Round (worldPoint.y));
	}
}

Main differences being I completely ignore the camera distance, and use Camera.main to find the camera rather than pulling it in explicitly from the scene. Since the projection is isometric does it really matter what the distance is?

Also I figure Mathf.Round is an alias of Mathf.RoundToInt so that seems an inconsequentlal change (and it’s a misnomer anyway as the type is still float).