Mobile game touch problem (C#)

Hello my fellow Unities! I’m developing a 2D mobile game using touch. I’m trying to make it so that you can only hold down one finger on the screen when you do an object will follow the position on where you touch, so when you move your finger over the screen the object follows. But looks like I have hit a crossroad with two problems!

First, If I touch the screen on different location quickly the object will swap over to the position where i pressed, how can I make the ball just follow the finger when I hold down on the screen and not move between position when I press quickly?

Second, there is the problem when you hold down more than one fingers on the screen the ball will make “swaps” between positions. How do I set it to just work with one finger?

Here is the code:

using UnityEngine;
  using System.Collections;
  
  public class MoveScript : MonoBehaviour {
  
      public GameObject character;
      public float speed = 50.0f;
  
  
      void Update () 
      {
          if(Input.touchCount == 1)
          {
  
              Vector3 target = Camera.main.ScreenToWorldPoint(new            Vector3(Input.mousePosition.x,Input.mousePosition.y, 10.0f));
              character.transform.Translate(Vector3.MoveTowards(character.transform.position, target, speed * Time.deltaTime) - character.transform.position);
  
          }
      }

Here is the code for checking input:

using UnityEngine;
  using System.Collections;
  
  public class TouchScript : MonoBehaviour 
  {
      void OnGUI()
      {
          foreach(Touch touch in Input.touches)
          {
              string message = "";
              message += "ID: " + touch.fingerId + "

";
message += "Phase: " + touch.phase.ToString() + "
";
message += "TapCount: " + touch.tapCount + "
";
message += "Pos X: " + touch.position.x + "
";
message += "Pos Y: " + touch.position.y + "
";

              int num = touch.fingerId;
              GUI.Label(new Rect(0 + 130 * num, 0, 120, 100), message);
  
          }
      }
  }

I’m grateful for any help I can get!

If you have no intention of allowing multi-touch, you can just disable it: Unity - Scripting API: Input.multiTouchEnabled

Should you want multi-touch during some parts of the game, enable and then disable as needed.

, @Internetman the problem is that i your code you are checking for touch count 1 which is wrong you should be checking for touch 0
just change the number to 0