smoothly make light brigther

im having trouble making a flashlight slowly get brighter when it is turned on. this is where i have got to. bear with me im not great at coding. thank you

var lightglide : float = 10;

function Update () {

if (Input.GetKeyDown("e")){

	if (light.enabled == true)
	
		light.enabled = false;
		
		else 
			light.enabled = true;
			
			light.intensity = lightglide * Time.deltaTime;

}
}

It looks like you’re adjusting the light’s intensity inside the if statement that checks for ‘e’ being pressed. Maybe what you want is to just toggle whether or not the light is enabled in that if statement. Then you could add another if statement after it that checks whether the light is enabled or not and increases or decreases the intensity accordingly.

For example:

function Update()
{
    if (Input.GetKeyDown("e"))
    {
        if (light.enabled == true)
            light.enabled = false;
        else 
            light.enabled = true;
    }

    if (light.enabled)
        light.intensity = light.intensity + lightglide * Time.deltaTime;
    else
        light.intensity = light.intensity - lightglide * Time.deltaTime;

    light.intensity = Mathf.Clamp(light.intensity, 0f, maximumIntensity)
}

This way, the light’s intensity will blend upwards or downwards depending on whether or not the light is turned on. The use of the Clamp function forces the light’s intensity to be between 0 and maximumIntensity. I’m leaving it up to you to work out what the maximum intensity should be. You can find this information in the Unity reference documentation by searching for ‘light’ and scrolling down to the list of members or by searching for ‘light intensity’ directly.

If you can get the code working like this then you may want to try making the light intensity vary in a more satisfying way by using lerp to adjust it, instead of just adding or subtracting each frame.

Additionally, the way we toggle whether the light is on or off is fairly clear when written as above, but once you’re happy with that you might prefer to do it this way:

if (Input.GetKeyDown("e"))
{
    light.enabled = !light.enabled;
}

Since light.enabled is a boolean variable, this will always change it to the opposite, so when it’s true it will be changed to false and vice versa.