Moving player to mouse click

I was planning on publishing my game to the google play store but I’ve run into a problem. Now I need to completely redo my movement script. Right now it is set up for mobile touch input and I’d like to change it to work with a mouse. Essentially I want to set it up in a way where the player teleports to the mouse position but only on the x axis as that is how the game works. How can I do this? Thanks.

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Movement : MonoBehaviour

public GameObject gameOverMenu;
public GameObject highScoreNumber;

void Update()
    if (Input.touchCount > 0)
        Touch touch = Input.GetTouch(0);
        Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position);
        touchPosition.z = 0f;
        touchPosition.y = 0f;
        transform.position = touchPosition;

void OnCollisionEnter2D(Collision2D collision)
    if ( == "Obstacle(Clone)")
        Time.timeScale = 0;

IEnumerator GameOverMenu()
    yield return new WaitForSecondsRealtime(.8f);


You should simply be able to use:

  • Input.GetMouseButton(0) instead of Input.GetTouch(0)
  • Input.mousePosition instead of touch.position

@shahprateek317 What would I replace Touch with because I get an error saying “cannot implicitly convert bool to UnityEngine.Touch.”

if (Input.GetMouseButton(0))

        Touch touch = Input.GetMouseButton(0);
        Vector3 mousePosition = Camera.main.ScreenToWorldPoint(touch.position);
        mousePosition.z = 0f;
        mousePosition.y = 0f;
        transform.position = mousePosition;