Camera Follow isn't smooth

I have a problem with my Camera-Follow-Script. It isn’t realy smooth. Can anyone help me?

public class CameraFollowSmooth : MonoBehaviour
public Transform playerTransform;

void Update()

    Vector3 cameraFollowPosition = playerTransform.position;
    cameraFollowPosition.z = transform.position.z;

    Vector3 CameraFollowRichtung = (cameraFollowPosition - transform.position).normalized;
    float distance = Vector3.Distance(cameraFollowPosition, transform.position);
    float cameraMoveSpeed = 7f;

    if(distance > 0)
        Vector3 newCameraPosition = transform.position = transform.position + CameraFollowRichtung * distance * cameraMoveSpeed * Time.deltaTime;
        float distanceAfterMoving = Vector3.Distance(newCameraPosition, cameraFollowPosition);

        if (distanceAfterMoving > distance)
            //Über Maximal Wert
            newCameraPosition = cameraFollowPosition;

        transform.position = newCameraPosition;


You should try Lerping the camera to the new position

private void FixedUpdate()

        transform.position = Vector3.Lerp (transform.position, newPosition, 
        cameraMoveSpeed * Time.deltaTime);

The problem might be a difference between the update functions of your player movement script and the camera follow script.
Try changing void Update() to void FixedUpdate() and see if that fixes it.
Also you have an extra = transform.position in your code that you should remove; it is just taking up space.