how would I set up a day/night cycle so that I can have the time of day be changeable in each level.

I’m working on a 3d tower defense game and I want to add a day/night cycle to the game. In which each level is a different time of day. For example: Level 1 is sunrise, Level2 is day, Level 3 is afternoon, and Level 4 is evening. I want to be able to manipulate the cycle, so each level has a stationary time of day that doesn’t change as the level Is played. I haven’t set up any type of script because I don’t even know where to start. If this is even possible can someone let me know how or if I can’t at all.

It depends on how in depth you want to go. There are some great assets on the Unity Asset store for adjustable time of day, but if all you need is to adjust the intensity, color, and rotation of your directional light in your scene then that can be done pretty easily. The simplest and most naive (but effective) approach would just make a script in each of your scenes that you configure individually on a scene by scene basis. Then, when the scene plays, the script will adjust your light settings to your desired values.

public class TimeOfDay : Monobehavior {
    public float lightIntensity;
    public Vector3 lightOrientation;
    public Color lightColor;
    public Light directionalLight;

    void Start(){
        directionalLight.color = lightColor;
        directionalLight.intensity = lightIntensity;
        directionalLight.transform.rotation = Quaternion.Euler(lightOrientation);
    }
}