Bullets not spawning (Instantiate)

Been following this tutorial:

Unfortunately, no bullets spawn when hit the left mouse button.

Current script:

var mountObject : GameObject;
var player : GameObject;
var cameraMain : GameObject;
@HideInInspector
var gunXRotation : float;
@HideInInspector
var gunYRotation : float;
var zoomAngle : float = 24;

var fireSpeed : float = 15;
@HideInInspector
var waitTillNextFire : float = 0;
var bullet : GameObject;
var bulletSpawn : GameObject;

function Upddate ()
{
	if(Input.GetButton("Fire1"))
	{
		if(waitTillNextFire <= 0)
		{
			if(bullet)
				Instantiate(bullet, bulletSpawn.transform.position, bulletSpawn.transform.rotation);
			waitTillNextFire = 1;
		}
	}
	waitTillNextFire += Time.deltaTime * fireSpeed;
}

function LateUpdate () 
{
	cameraMain.GetComponent(MouseLook).currentTargetCameraAngle = zoomAngle;
		
	gunXRotation = cameraMain.GetComponent(MouseLook).currentXRotation;
	gunYRotation = cameraMain.GetComponent(MouseLook).currentYRotation;

	transform.position = mountObject.transform.position;
	transform.rotation = mountObject.transform.rotation;
	
	if (player.GetComponent(PlayerMovement).weaponReady == true)
	{
		mountObject.transform.rotation = Quaternion.Euler(gunXRotation, gunYRotation, 0);
	}
}

I believe you’ve used the wrong operator. waitTillNextFire will never be less than or equal to 0 if you only increment its value - unless you’re able to press fire in the very first Update() call.

 waitTillNextFire -= Time.deltaTime * fireSpeed;