End of level camera to beginning of level camera

Hello all,
I followed some tutorials and read documents but they seems all too complicated for what I need.
My question is:
The player is on the bottom of the level and let’s say it has to climb up, at the top of the level there is the spawning point of enemies and the end of the level. Let’s say like donkey kong but not all the level in the same screen.
I saw about camera states but I need just the camera that starts from the spawning point up to go down to the player doing so visualizing the entire climbing level.

I saw that I can use two virtual cameras in cinemachine and then switch their priorities but I did not understand how to do it or where to put such script.

Is there a simple ay to do so? maybe also without cinemachine only with main camera ?

Thank you in advance

Yeh, it’s pretty easy to do with no need for cinemachine, you could just use a coroutine that moves the camera down until it’s level with the player, something like this on the camera should work:

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

public class ScrollCam : MonoBehaviour
{
	public GameObject player; // Put the player here in the inspector
	public float speed = 1f; // Speed the camera will move
	
    // Start is called before the first frame update
    void Start()
    {
	    StartCoroutine(ScrollToPlayer());
    }

	IEnumerator ScrollToPlayer()
	{
		while(transform.position.y > player.transform.position.y) // While not at the players height
		{
			yield return new WaitForEndOfFrame();
			transform.Translate(0f,-speed * Time.deltaTime, 0f); // move the camera down each frame
		}
		// Once you are at the players height
		transform.parent = player.transform; // parent to the player so that you follow them
	}
}

Note for this approach the camera has to be separate from the Player and placed at the top of the level at game start.

Thank you Aaron for your time, meanwhile I looked for other sources and I found what I needed
Actually, and if this can be useful to other I did this :
In main camera I set a custom blend, from Spawn virtual camera to the Player one , then in Start() i just switched the priority of the cameras and it works pretty fine.

Using Cinemachine;

 [SerializeField] CinemachineVirtualCamera Spawn;
    [SerializeField] CinemachineVirtualCamera Player;

    void Start()
    {
        Invoke("SwitchPriority", 2);
    }

    void SwitchPriority()
    {
        Player.Priority = 1;
    }