Jerky / stutter camera follow

I tried many different solutions but it seems to keep on moving jerkily…
Note: I tired LateUpdate / Update / FixedUpdate and non seemed to solve the problem.

using UnityEngine;
using System.Collections;

public class CameraFollow : MonoBehaviour
{
	
	public GameObject cameraTarget; // object to look at or follow
	public GameObject player; // player object for moving
	
	public float smoothTime = 0.1f;    // time for dampen
	public bool cameraFollowX = true; // camera follows on horizontal
	public bool cameraFollowY = true; // camera follows on vertical
	public bool cameraFollowHeight = true; // camera follow CameraTarget object height
	public float cameraHeight = 2.5f; // height of camera adjustable
	public float velocity = 4f; // speed of camera movement

	private Transform thisTransform; // camera Transform

	float posY;
	//public float posZ;
	
	void Start()
	{
		thisTransform = transform;
		posY = thisTransform.position.y;
		transform.position = new Vector3 (transform.position.x, transform.position.y, -10f);
		cameraTarget = FindClosestPlayer ();


	}

	void Update()
	{
		if (cameraFollowX && cameraTarget != null)
		{
			thisTransform.position = new Vector3(Mathf.SmoothDamp(thisTransform.position.x, cameraTarget.transform.position.x, ref velocity, smoothTime, 5.25f), posY, -10f);

		}
		if (cameraTarget == null)
			cameraTarget = FindClosestPlayer ();
	}

	GameObject FindClosestPlayer() {
		GameObject[] gos;
		gos = GameObject.FindGameObjectsWithTag("Player");
		GameObject closest = null;
		float distance =  Mathf.Infinity;
		Vector3 position = transform.position;
		foreach (GameObject go in gos) {
			Vector3 diff = go.transform.position - position;
			float curDistance = diff.sqrMagnitude;
			if (curDistance < distance && Vector2.Distance(go.transform.position, transform.position) <= 20f) {
				closest = go;
				distance = curDistance;
			}
		}
		return closest;
	}
}

So I have been suggested to change the way my camera follows the player. Here’s the code for anyone who has this problem:

void LateUpdate()
	{
		transform.position = Vector3.Lerp(new Vector3(transform.position.x, posY, -10f), new Vector3(cameraTarget.transform.position.x, posY, -10f), 3f * Time.deltaTime);
	}

The problem could be that since players are constantly moving, the speed of Mathf.SmoothDamp is abruptly changing sometimes, hence the stutter.

Try using a constant velocity to move the camera towards the target player instead to check if that is the problem.