Some wierd exceptions in my code?

using UnityEngine;
using System.Collections;

public class Attacking : MonoBehaviour {

	// Connected game objects
	private GameObject PrimaryTarget;
	private Follower SecondaryTarget;

	// Basic properties
	public int Damage;
	public int Health;
	public float Speed;

	// Basic distance floats
	public float GeneralDistance;
	public float AttackDistance;
	public float GiveUpDistance;
	public float AttackRange;

	// Advanced distance floats
	private float Distance;
	private float FollowerDistance;

	private Follower CurrentFollowerGet;

	// Grab player
	private Player PlayerScriptGet;
	private GameObject PlayerGet;

	// Decides whether or not the monster can attack
	private bool CanAttack;

	// Sets up the state machine where the monster decides what it wants to do
	private enum PlayerFollowerGiveUp {Player, Follower, GiveUp};
	private PlayerFollowerGiveUp AttackState;

	void Start () {
		AttackState = PlayerFollowerGiveUp.GiveUp;

		PlayerGet = GameObject.Find ("Player");

		PrimaryTarget = PlayerGet;

		// Allows the monster to deal damage as soon as the game is started
		CanAttack = true;
	}

	void Update () {
		// Gives "Advanced distance floats" code
		Distance = Vector2.Distance (PrimaryTarget.rigidbody2D.transform.position, rigidbody2D.transform.position);

		SecondaryTarget = CurrentFollowerGet;

		if (SecondaryTarget)
		{
			SecondaryTarget = CurrentFollowerGet;
			FollowerDistance = Vector2.Distance (SecondaryTarget.rigidbody2D.transform.position, rigidbody2D.transform.position);
		}

		PlayerScriptGet = PlayerGet.GetComponent <Player> ();

		// If the monster sees the player in range
		if (Distance <= AttackDistance)
		{
			// The monster will attack the player
			AttackState = PlayerFollowerGiveUp.Player;
		}

		// If the monster sees the follower in range and the follower is closer
		if (FollowerDistance < AttackDistance && FollowerDistance < Distance && SecondaryTarget != null)
		{
			AttackState = PlayerFollowerGiveUp.Follower;
		}

		// If the monster sees neither the player or follower
		if (Distance >= GiveUpDistance && FollowerDistance >= GiveUpDistance)
		{
			// The monster will give up on attacking the player and the follower
			AttackState = PlayerFollowerGiveUp.GiveUp;
		}

		// If the monster is following the follower
		if (AttackState == PlayerFollowerGiveUp.Player)
		{
			// If the player's x value is greater than the sum of the monster's x value and the general distance set
			if (PrimaryTarget.rigidbody2D.transform.position.x > rigidbody2D.transform.position.x + GeneralDistance)
			{
				// Move the monster to the right to catch up with the player
				rigidbody2D.transform.position += Vector3.right * Speed * Time.deltaTime;
			}
			// If the player's x value is less than the difference between the monster's x value and the general distance set
			if (PrimaryTarget.rigidbody2D.transform.position.x < rigidbody2D.transform.position.x - GeneralDistance)
			{
				// Move the monster to the left to catch up with the player
				rigidbody2D.transform.position += Vector3.left * Speed * Time.deltaTime;
			}
			// If the player's y value is greater than the sum of the monster's y value and the general distance set
			if (PrimaryTarget.rigidbody2D.transform.position.y > rigidbody2D.transform.position.y + GeneralDistance)
			{
				// Move the monster up to catch up with the player
				rigidbody2D.transform.position += Vector3.up * Speed * Time.deltaTime;
			}
			// If the player's y value is less than the difference between the monster's y value and the general distance set
			if (PrimaryTarget.rigidbody2D.transform.position.y  < rigidbody2D.transform.position.y - GeneralDistance)
			{
				// Move the monster down to catch up with the player
				rigidbody2D.transform.position += Vector3.down * Speed * Time.deltaTime;
			}

			// If the player is in the range of an attack and the monster hasn't attacked in the past second
			if (Distance <= AttackRange && CanAttack == true)
			{	
				// Do everything mentioned in the "Attack" function
				AttackPlayer ();
			}
		}

		if (AttackState == PlayerFollowerGiveUp.Follower)
		{
			// If the follower's x value is greater than the sum of the monster's x value and the general distance set
			if (SecondaryTarget.rigidbody2D.transform.position.x > rigidbody2D.transform.position.x + GeneralDistance)
			{
				// Move the monster to the right to catch up with the follower
				rigidbody2D.transform.position += Vector3.right * Speed * Time.deltaTime;
			}
			// If the follower's x value is less than the difference between the monster's x value and the general distance set
			if (SecondaryTarget.rigidbody2D.transform.position.x < rigidbody2D.transform.position.x - GeneralDistance)
			{
				// Move the monster to the left to catch up with the follower
				rigidbody2D.transform.position += Vector3.left * Speed * Time.deltaTime;
			}
			// If the follower's y value is greater than the sum of the monster's y value and the general distance set
			if (SecondaryTarget.rigidbody2D.transform.position.y > rigidbody2D.transform.position.y + GeneralDistance)
			{
				// Move the monster up to catch up with the follower
				rigidbody2D.transform.position += Vector3.up * Speed * Time.deltaTime;
			}
			// If the follower's y value is less than the difference between the monster's y value and the general distance set
			if (SecondaryTarget.rigidbody2D.transform.position.y  < rigidbody2D.transform.position.y - GeneralDistance)
			{
				// Move the monster down to catch up with the follower
				rigidbody2D.transform.position += Vector3.down * Speed * Time.deltaTime;
			}
		}
	}

	void Die () {
	}

	void AttackPlayer () {
		// Change the current health of the target to the difference between the current health and the damage set
		PlayerScriptGet.Health -= Damage;

		// Start the coroutine that delays the attack
		StartCoroutine (AttackDelay ());
	}

	IEnumerator AttackDelay () {
		// The monster cannot attack
		CanAttack = false;

		// Wait one second
		yield return new WaitForSeconds (1);

		// The monster can attack again
		CanAttack = true;
	}
}

[35829-screenshot+(94).png|35829]

Two points. First, only ever worry about the first exception. One Exception often causes other errors. Only ever fix the first one.

Secondly, I can see, in the screenshot, where Unity is literally telling you what code is causing the error. Examine the top line of the Console shown. See the (at Assets/Code/Entities/Attacking.cs:122)? It’s happening in your Attacking script on line 122.

A brief glimpse at the line in question tells me that you’re not null checking SecondaryTarget.

@awplays49 - I can’t speak for everyone here, but your questions show not only an unhealthy lack of knowledge, but more importantly, an unwillingness to learn things yourself. I’m happy to help people who want to help themselves, but I am unwilling to fix all of your bugs, nor am I willing to walk you through each step of the process every. single. time.

This is a community of people who sacrifice their own time to help others. Please show some consideration for that time and put in some effort. Let me be clear: I’m not criticizing you for lack of knowledge; we were all there once.

I’m downvoting this question, as it is trivially basic. Please put in some work before reflexively posting your next issue.