The name " " does not denote a valid type

Has anyone tried the Michelle Menard Game Development with Unity book?

I have problems with a script of his book. It is Chapter 13. GUI_HUD.

I get 3 the errors while declaring a private variable,: The name Widget_AttackController does not denote a valid type.
But Widget_AttackController is actually a type, so I do not understand. Thank you guys. I’m new on this, so I’d appreciate any kind of help!
The code is what follows:

//GUI_HUD: displays the pertinent information for Widget, his items, and any current enemy

//Set up Textures-------------------------------------------------------------------
//For larger games, this should be done programmatically
var customSkin: GUISkin;

var screwImage : Texture2D;
var gearImage : Texture2D;
var repairkitImage : Texture2D;
var energykitImage : Texture2D;

//Left Vital Tex
var lbarImage: Texture2D;
var lhbar :Texture2D;
var lebar : Texture2D;
var widgetImage : Texture2D;

//Right Vital Tex
var rbarImage: Texture2D;
var rhbar :Texture2D;
var rebar : Texture2D;
var enemyImage : Texture2D;
var circBackImage : Texture2D;

//---------------------------------------------------------------------------------

private var customControls : GUI_CustomControls;
]private var playerInfo : Widget_Status; // HERE ERROR: The name Widget_Status does not denote a valid type.
private var playerInvo : Widget_Inventory; // HERE ERROR The name Widget_Status does not denote a valid type.
private var playerAttack : Widget_AttackController; // HERE ERROR The name Widget_AttackController does not denote a valid //type.
private var closestEnemyStatus ;
private var player;

var closestEnemy;
var enemyDistance;

//Initialize Player info-------------------------------------------------------------
function Awake()
{
playerInfo = FindObjectOfType(Widget_Status);
customControls = FindObjectOfType(GUI_CustomControls);
playerInvo = FindObjectOfType(Widget_Inventory);
playerAttack = FindObjectOfType(Widget_AttackController);
player = GameObject.FindWithTag(“Player”);
}

//Display----------------------------------------------------------------------------
function OnGUI()
{
if(customSkin)
GUI.skin = customSkin;

//Widget’s Vitals
customControls.LeftStatusMeter(widgetImage, playerInfo.health, playerInfo.energy, lbarImage, lhbar, lebar);

//Inventory Buttons-------------------------------------------------------
if(customControls.InvoHudButton(Rect(10, Screen.height - 100, 93, 95), playerInvo.GetItemCount(InventoryItem.ENERGYPACK), energykitImage, “Click to use an Energy Pack.”))
{
playerInvo.UseItem(InventoryItem.ENERGYPACK, 1);
}
if(customControls.InvoHudButton(Rect(110, Screen.height - 100, 93, 95), playerInvo.GetItemCount(InventoryItem.REPAIRKIT), repairkitImage, “Click to use a Repair Kit.”))
{
playerInvo.UseItem(InventoryItem.REPAIRKIT, 1);
}
//Non-Usable Inventory Buttons-----------------------------------------
customControls.InvoHudButton(Rect(Screen.width - 210, Screen.height - 100, 93, 95), playerInvo.GetItemCount(InventoryItem.SCREW), screwImage, “Number of screws you’ve collected.”);
customControls.InvoHudButton(Rect(Screen.width - 110 , Screen.height - 100, 93, 95), playerInvo.GetItemCount(InventoryItem.NUT), gearImage, “Number of gears you’ve collected.”);

//Enemy Vitals
closestEnemy = playerAttack.GetClosestEnemy();
if (closestEnemy != null)
{
enemyDistance = Vector3.Distance(closestEnemy.transform.position, player.transform.position);
if(enemyDistance < 20.0)
{
closestEnemyStatus = closestEnemy.GetComponent(EBunny_Status);
enemyImage = closestEnemyStatus.GetCharImage();
customControls.RightStatusMeter(enemyImage, closestEnemyStatus.health, closestEnemyStatus.energy, rbarImage, rhbar, rebar, circBackImage);
}
}

}

@script ExecuteInEditMode()
@script AddComponentMenu(“GUI/HUD”)

So… is there a class/file with the name “Widget_Status.js” in your project?

If you are having a compiler error, you should really look up the root cause before posting. The compiler is giving you all of the information that you need, namely that you have never defined a type called Widget_Status or the others in any other file in your project.