Problemas com cinamaticPanTilt

Bom dia a todos e uma otima semana! Estou desenvolvendo o jogo kill the zombies em preimeira pessoa e estou com dificuladades em atribuir o pan tilt no jogador. Quem puder ma ajudar fico agradecido.

segue o erro aontado:

Assets\Scripts\GerenciadorDeArmas.cs(27,30): error CS0246: The type or namespace name ‘CinemachinePanTilt’ could not be found (are you missing a using directive or an assembly reference?)

All compiler errors have to be fixed before you can enter playmode!
UnityEditor.SceneView:ShowCompileErrorNotification ()

meu codigo:

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

public class GerenciadorDeArmas : MonoBehaviour
{
[SerializeField] private List armasDisponiveis;
[SerializeField] private Arma armaPrimaria;
[SerializeField] private Arma armaSecundaria;

[SerializeField] private GameObject efeitoImpactoDeTiro;
[SerializeField] private GameObject efeitoDeSangue;

[SerializeField] private LayerMask tiroLayerMask;

private Transform cameraPrincipal;
private float tempoProximoTiro;

private MovimentoJogador movimentoJogador;

private Coroutine recarregarCoroutine;

private bool recarregando;

[SerializeField] private CinemachinePanTilt panTilt;

private float tempoRecoil;

void Start()
{
    cameraPrincipal = Camera.main.transform;
    armaPrimaria.gameObject.SetActive(true);
    armaSecundaria?.gameObject.SetActive(false);

    movimentoJogador = GetComponent<MovimentoJogador>();
}

void Update()
{
    if (recarregando) return;

    Arma armaAtual = GetArmaAtual();
    Recarregar(armaAtual);
    Atirar(armaAtual);
    AplicarRecoil(armaAtual);
}

public Arma GetArmaAtual()
{
    return armaPrimaria.gameObject.activeSelf ? armaPrimaria : armaSecundaria;
}

private void Atirar(Arma armaAtual)
{
    if (Input.GetButton("Fire1") && Time.time >= tempoProximoTiro && armaAtual.municaoAtual > 0 && !movimentoJogador.EstaCorrendo())
    {
        tempoProximoTiro = Time.time + 1f / armaAtual.tirosPorSegundo;

        armaAtual.RealizarDisparo();

        RaycastHit hit;
        if (Physics.Raycast(cameraPrincipal.position, cameraPrincipal.forward, out hit, 1000, tiroLayerMask, QueryTriggerInteraction.Ignore))
        {
            Instantiate(efeitoImpactoDeTiro, hit.point, Quaternion.LookRotation(hit.normal));
        }
        tempoRecoil = 0.2f;
        armaAtual.ProximoRecoil();
    }
}

private void Recarregar(Arma armaAtual)
{
    if ((Input.GetKeyDown(KeyCode.R) || armaAtual.municaoAtual <= 0) && armaAtual.municaoNoInventario > 0)
    {
        CancelarRecarga();
        recarregarCoroutine = StartCoroutine(ExecutarRecarga(armaAtual));
    }
}

private void CancelarRecarga()
{
    if (recarregarCoroutine != null)
    {
        StopCoroutine(recarregarCoroutine);
        
    }

    recarregando = false;
}

private IEnumerator ExecutarRecarga(Arma armaAtual)
{
    recarregando = true;

    armaAtual.animator.SetTrigger("Recarregar");

    yield return new WaitForSeconds(armaAtual.tempoDelayRecarregar); 

    int balasParaRecarregar = Mathf.Min(armaAtual.capacidadeDoPente, armaAtual.municaoNoInventario) - armaAtual.municaoAtual;
    armaAtual.RecarregarArma(balasParaRecarregar);
    recarregando = false;
}

private void AplicarRecoil(Arma armaAtual) 
{
    if (tempoRecoil <= 0f) return;
    tempoRecoil -= Time.deltaTime;
    Vector2 recoilAtual = armaAtual.ObterRecoilAtual();
    panTilt.PanAxis.Value += recoilAtual.x * Time.deltaTime;
    panTilt.TiltAxis.Value += recoilAtual.y * Time.deltaTime;
}

}

Você não fez a importação do pacote Cinemachine, por isso do erro.
No início do script, tente colocar:

using Unity.Cinemachine;