My enemy wants to shoot me, but he's got a gut full of lead

I swear to you, I hate asking these questions.
And I swear that I’ve been at Google / Youtube all night trying to figure this whole fiasco out. My enemy needs to shoot at me. In fact, following the tutorials here and here
I’ve managed to make some progress. Here’s the problem: the projectile forms (clones) but never actually moves. It literally just sits and continually clones without going anywhere. (invisible due to its location in the center of the enemy.) Further, I get the exception evidenced at the bottom of this picture: Proj The way I figure, that’s Unity telling me that a projectile doesn’t exist, which made sense earlier when I was stumbling along, but now to my untrained eye I have the projectile set. (and like I said, it’s cloning, just not going anywhere.) Oh, oops. How silly of me. Here’s the Script I’m using:

using UnityEngine;
using System.Collections;

public class Bansheeshot : MonoBehaviour 
{
	public GameObject projectile = null;
	public float timeBetweenShotsMin = 1.5f;
	public float timeBetweenShotsMax = 5.0f;
	
	private float _nextShot = 0f;
	private Transform _transform;
	
	void Start()
	{
		_transform = transform;
	}
	
	// Update is called once per frame
	void Update () 
	{
		if(Time.time > _nextShot)
		{
			//Assign new next shot
			_nextShot = Time.time + Random.Range(timeBetweenShotsMin, timeBetweenShotsMax);
			
			//Fire the projectile
			Instantiate(projectile, _transform.position, _transform.rotation);
		}
	}
}

I have no idea what in the world I’m doing wrong here. Any and all help or points in the right direction are well appreciated. God bless.

In the Banshee Shot Code, you’re naming a variable “transform” which is just asking for trouble. You don’t really need the variable at all, so try it like this:

public class Bansheeshot : MonoBehaviour
{
	public GameObject Projectile;
	public float timeBetweenShotsMin = 1.5f;
	public float timeBetweenShotsMax = 5.0f;
	private float nextShot = 0f;

	void Update ()
	{
		if (Time.time > nextShot) {
			//Assign new next shot
			nextShot = Time.time + Random.Range (timeBetweenShotsMin, timeBetweenShotsMax);

			//Fire the projectile
			Instantiate (Projectile, transform.position, transform.rotation);
		}
	}
}

Also, the line Instantiate (Projectile, transform.position, transform.rotation); will create the bullet INSIDE the banshee, and if you haven’t set the physics to ignore this collision, it might cause some problems. Place the banshee and it’s bullet in different layers and make sure that the layers are set to not collide with each other.