Hi there, assume the role of a Unity Developer, he is a good guy, always there for anyone who asks them to code in unity and always provides full scripts with all needed logic and code etc. Please look at this script, I want to be able to switch camera to the one already on the Hoverboard vehicle once the player gets on, I would like the players camera to be disabled at this point until the player gets off the hoverboard. 
using UnityEngine;

public class PlayerHoverboardInteraction : MonoBehaviour
{
    [Header("Interaction Settings")]
    public KeyCode getOnKey = KeyCode.E;
    public KeyCode getOffKey = KeyCode.E;
    public GameObject playerModel;
    public GameObject hoverboard;
    public Transform hoverboardStandPosition; // Assign a transform position to stand on the hoverboard

    private bool isOnHoverboard = false;

    // Reference to player and hoverboard scripts. Set these in the inspector or find them via GetComponent if they’re on the same object.
    public playerController playerControllerManager;
    public HoverBoardControl hoverBoardControl;

    // Reference to your camera script (or the Main Camera if playerCamera handles the camera follow).
    public playerCamera playerCamera;

    private Rigidbody playerRigidbody;
    private Collider playerCollider;

    void Start()
    {
        // Cache references to the player’s Rigidbody and Collider.
        playerRigidbody = playerModel.GetComponent<Rigidbody>();
        playerCollider = playerModel.GetComponent<Collider>();

        // Disable hoverboard control at the start.
        hoverBoardControl.enabled = false;

        // Your additional start initialization…

        // Make sure the hoverboard control starts disabled.
        hoverBoardControl.enabled = false;
    }

    void Update()
    {
        if (!isOnHoverboard && Input.GetKeyDown(getOnKey) && CanGetOnHoverboard())
        {
            GetOnHoverboard();
        }
        else if (isOnHoverboard && Input.GetKeyDown(getOffKey))
        {
            GetOffHoverboard();
        }
    }

    private bool CanGetOnHoverboard()
    {
        return hoverboard != null;
    }

    private void GetOnHoverboard()
    {
        if (!CanGetOnHoverboard())
            return;

        isOnHoverboard = true;

        playerModel.transform.position = hoverboardStandPosition.position;
        playerModel.transform.rotation = hoverboardStandPosition.rotation;
        playerModel.transform.SetParent(hoverboardStandPosition);

        playerControllerManager.enabled = false;
        playerRigidbody.isKinematic = true;
        playerCollider.enabled = false;

        hoverBoardControl.enabled = true;

        // Assuming your camera script has a property/method named "targetToLook."
        if (playerCamera != null)
        {
            playerCamera.targetToLook = hoverboardStandPosition;
        }

        // Your look-at target logic here (adjust as needed).
        if (playerCamera != null && playerCamera.lookAtTargetEnabled)
        {
            playerCamera.targetToLook = hoverboardStandPosition;
        }
    }

    private void GetOffHoverboard()
    {
        isOnHoverboard = false;

        playerModel.transform.SetParent(null);

        playerControllerManager.enabled = true;
        playerRigidbody.isKinematic = false;
        playerCollider.enabled = true;

        hoverBoardControl.enabled = false;

        playerModel.transform.Translate(0, 1f, 1f);

        // Assuming your camera script has a property/method named "targetToLook."
        if (playerCamera != null)
        {
            playerCamera.targetToLook = playerModel.transform;
        }

        // Your look-at target logic here (adjust as needed).
        if (playerCamera != null && playerCamera.lookAtTargetEnabled)
        {
            // Reset the look-at target when getting off the hoverboard.
            playerCamera.targetToLook = null;
        }
    }
}