Global Fog On/Off not working right.

In the Render Settings > I setup my fog (Color,Density,So on) and Checked it On.
And in my script i have it set to Disable it at start up, which it does. But when i press P i can see the Fog turn on (1/2 a Second) then it shuts off again.

When i walk into my Colliders, they are tagged FogOn/FogOff, and both Cubes have a Collider > Trigger but nothing happens at all.
There is no errors, besides it not Turning On or Off when i hit the Collider, or press P it Toggles but remains off.

    function Update(){
    RenderSettings.fog = false;
    if (Input.GetKeyDown("p")){
    RenderSettings.fog = !RenderSettings.fog;
    }
}
    
    function OnTriggerEnter(other : Collider) {
    if(other.tag == "FogOn") {
    RenderSettings.fog = true;
    } else if(other.tag == "FogOff") {
    RenderSettings.fog = false;
    }
}
    
    function OnTriggerExit(other : Collider){
     if(other.tag == "FogOn") {
          Destroy(gameObject);
     } else if(other.tag == "FogOff") {
          Destroy(gameObject);
     }
}

I know i am missing something, i was thinking the (RenderSettings.fog = true;) was over riding the P Key, but why is the Colliders not Activating?

You have fog always equal to false in Update().

 function Update(){
    RenderSettings.fog = false;....

This statement is not inside of an if(), it’s just in Update itself. Try creating a boolean or something like below, and only have fog enabled if a certain condition is met. For example you can toggle var fogOn which is the bool in my example, inside your Trigger events.

Try something like this for testing:

#pragma strict

var fogOn : boolean;

function Start()
{
	fogOn = RenderSettings.fog;
}

function Update ()
{
	RenderSettings.fog = fogOn;
	
	if(Input.GetKeyDown(KeyCode.F))
		fogOn = !fogOn;
}