Unity is flat out crashing when I go to play mode

Ever since I’ve finished working on my scripts, whenever I push play, Unity freezes completely and I have to do a hard shut down to get the computer to respond again. Afterwards, I can’t seem to open up Unity for quite some time. I have a feeling it has something to do with my scripts, (I have done some testing and it seems like it is my 1st script, but I’m keeping the second one up until I can eliminate it) so I’m going to toss them out here for all to see:

1st script:

using UnityEngine;
using System.Collections;

public class Special : MonoBehaviour
{
	public GameObject ball;
	public float spawnRate;
	public int ballCount;
	public float speed;

	void Start () {
		while(ballCount >= 0)
			InvokeRepeating ("SpawningClones", 5, 2);
		
	}
	
	void SpawningClones (){
		GameObject clone = Instantiate (ball, new Vector3 (UnityEngine.Random.Range (-2.22f, 2.22f), UnityEngine.Random.Range (3.8f, 4.8f)), Quaternion.identity) as GameObject;
		clone.GetComponent<Rigidbody>().AddForce (new Vector2 (UnityEngine.Random.Range (-10, 10), UnityEngine.Random.Range (-10, 10)));
	}
	void FixedUpdate () {
		spawnRate += Time.deltaTime;	
		
	}
}

2nd script:

using UnityEngine;
using System.Collections;

public class PlatformSpawning : MonoBehaviour {
	public int platformAllowance;
	Ray ray;
	RaycastHit hit;
	public float platformSpawnRate;
	//public GameObject region;
	public GameObject platform;

	void Awake(){
		platformAllowance = 1;
		platformSpawnRate = 0;
	}

	void Start () {
	
	}

	void FixedUpdate () {

		platformSpawnRate += Time.deltaTime;

		if (platformSpawnRate == 20) {
			platformAllowance += 1;
		}
		if (platformSpawnRate == 40) {
			platformAllowance += 1;
		}
		ray = Camera.main.ScreenPointToRay (Input.mousePosition);
		if (Physics.Raycast (ray, out hit))
		{
			if (Input.GetMouseButtonDown (0))
			{
				if (platformAllowance != 0 && hit.transform.name == "region")
					Instantiate (platform, hit.point + new Vector3(0, 0.5f, 0), Quaternion.identity);
					platformAllowance = platformAllowance - 1;
				
			}
		}
	}
}

your problem is the ball spawning, you have a while loop acting based on ballCount, but ballCount is never being changed as far as i can see in these scripts, that will cause an infinite blocking loop, which is likely whats causing unity to crash.

Make sure it does not go in an infinite loop.