Ints not updating as expected?

I wish for the code here to check one if statement, if true do one thing, if not check the next statement. I’ve tried many things from else if to ints and bools. When the script runs, two or three of the statements come back true. Is there something obvious I’m missing?

private int keepchecking = 0;

 void Start () {
    
    if(CarGUI.finaltime<currentfirst || currentfirst==0)
    			{
    			Newfirst();
    			keepchecking-=1;
    			}
    
    			
    		if((keepchecking==0 && CarGUI.finaltime<currentsecond) || (keepchecking==0 && currentsecond==0))
    			{
    			Newsecond();
    			keepchecking-=1;
    			}
    
    			
    		if((keepchecking==0 && CarGUI.finaltime<currentthird) || (keepchecking==0 && currentthird==0))
    			Newthird();
    
    }

(this is just a section of the start script, the rest shouldn’t be a factor) below is another version of the script running from Update. In the log it shows Newfirst is being activated, but keepchecking is never 3, continuing to activate Newsecond then keepchecking = 2.

void Update() {
		
		print (keepchecking);
		
		if(keepchecking==0 && CarGUI.finaltime<currentfirst || keepchecking==0 && currentfirst==0)
			{
			Newfirst();
			keepchecking=3;
			}
		
		if((keepchecking==0 && CarGUI.finaltime<currentsecond) || (keepchecking==0 && currentsecond==0))
			{
			Newsecond();
			keepchecking=2;
			}
		
		if((keepchecking==0 && CarGUI.finaltime<currentthird) || (keepchecking==0 && currentthird==0))
			{
			Newthird();
			keepchecking=1;
			}
		
	}

On further inspection, it appears keepchecking is setting to 3, then resetting to 0 before setting itself to 2. Any ideas?

You’re code is in ’ Start()’

Start runs I believe when the game is visible.
There is also Awake, for before this.

Then there is Update, which is kind of like a while(true) loop, but the ‘true’ being… game is running, or script is there.

You want to put your code in ‘Update’

EDIT: Here’s the docs (with the correct functionality detailed) , look under the subheading ‘Messages’