Hit.transform.gameObject.tag returning the name 'PlayerUnit' does not exist in the current context.

I’m currently working on a simple strategy game, and I’m attempting to create a unit selector.
On each unit, I have a script that get’s the raycasts, then sets them to selected, it currently looks like this:

using UnityEngine;
using System.Collections;

public class Unit : MonoBehaviour {

	public bool isSelected = false;
	public int unitID = 0;

	// Use this for initialization
	void Start () {
	// Update is called once per frame
	void Update () {

		if(Input.GetButtonDown("Mouse1")) {

			RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);

			if(hit.transform.gameObject.tag == PlayerUnit) {

				if(hit.transform.GetComponent<Unit>().unitID == unitID) {
					isSelected = true;
					Debug.Log ("The unitID is: " + unitID);

				if(hit.transform.GetComponent<Unit>().unitID != unitID) {
					isSelected = false;

However, when I attempt to run, I get the error:
“Assets/Unit.cs(22,60): error CS0103: The name `PlayerUnit’ does not exist in the current context”
saying the tag doesn’t exist, even though the units are tagged a such.
Any clues as to whats going wrong?

Put that in quotes: “PlayerUnit”