Just wondering if anyone can help me work out why this script doesn't zoom my camera in using the scrollwheel?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraManager : MonoBehaviour {

public float zoomMax = -17;
public float zoomMin = -3;
public float zoomSpeed = 0.5f;
public float zoomCam = 10f;
public float horizontalSpeed = 40;
public float verticalSpeed = 40;
public float camRotateSpeed = 80;
public float camDistance = 30;
public float curDistance;


// Update is called once per frame
void Update () {

    
    float horizontal = Input.GetAxis("Horizontal")*horizontalSpeed * Time.deltaTime;
    float vertical = Input.GetAxis("Vertical") * verticalSpeed * Time.deltaTime;
    float Rotation = Input.GetAxis("Rotation");
    
    //   Vector3 camDefaultPos;
   
        transform.Translate(Vector3.forward * vertical);
        transform.Translate(Vector3.right * horizontal);

   // camDefaultPos = transform.position;

    
    zoomCam += Input.GetAxis("Mouse ScrollWheel") * zoomSpeed;
    zoomCam = Mathf.Clamp(zoomCam, zoomMin, zoomMax);

    // Bit that rotates the camera.
    if (Rotation != 0)
    {
        transform.Rotate(Vector3.up, Rotation * camRotateSpeed * Time.deltaTime, Space.Self);
    } 

}

}

You’re setting the zoomCam variable and clamping it, but never using it. You need to set the distance between the camera and the object it’s looking at to zoomCam after clamping it. You can do that by finding the vector from the object to the camera, using Vector3.Normalize() on it, then setting the camera’s position to the object’s position + that vector * zoomCam.