If Unity itself is crashing (i.e. not the game not working), make sure your property isn't causing an infinite loop.
This will cause unity to break:
string enemyName
{
get { return enemyName; } // infinite loop;
}
In general, properties and class names are upper case to prevent issues like this:
public class EnemyHUD : MonoBehaviour
{
string enemyName; // private member variable
public string EnemyName // public property
{
get { return enemyName; }
}
}
See also this question