Why Is the game object not selected? I'd like to understand why.

using UnityEngine;
using System.Collections;

public class Selectable : MonoBehaviour {
	
    bool Selected;
	// Use this for initialization
	void Start () {
	Selected  = false;
	}
	
	// Update is called once per frame
	void Update () {
	
		if (Selected) {
			 
			if (Input.GetKeyDown(KeyCode.Escape)){Selected = false;}
			Transform selectionDisk;
			selectionDisk = Instantiate(selectionHalo, transform.position, transform.rotation) as Transform;
			
		}
	}
	
	void OnMouseDown(){
		Selected = true;
	}
}

The Script gets attached to any game object that I want to be able to select. So far the screen just looks at a cube, but the cube doesn’t do anything on click. And now the compiler says the prefab for selection halo doesnt exist. I added a render call to change the color instead, but still no work.

According to:

"This function is not called on objects that belong to Ignore Raycast layer.

OnMouseDown can be a co-routine.

This event is sent to all scripts attached to the Collider or GUIElement."

Just make sure you are not missing anything, often when these mysterious problems occurs we probably are missing something.

PS.
And try to make all your methods/functions private or public, according to your needs.

Rigidbody or a Collider is attached I assume. If so you can try OnMouseEnter() to debug in the console and debug the OnMouseDown() with the bool value of Selected. Also double check you have an EventSystem gameobject in the scene. this usually helps the onmousedown issues for me. Double check that the colliders are set as 3D or 2D depending on your scene setup.