adding Items to a queue

Im building a little village sim. so i wanted to make an task manager for the villagers to pick a task.

so i have one script that holds the task and one that add a task.

when i compile i get no errors but when i try to add a task i get the following error :

"object reference not set to an instance of an object. "
this has also a pointer to line 18 of my TaskManager script.

so what am I doing wrong ?

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;
public class TaskManager : MonoBehaviour {
	
	Queue <Task> RequestedTasks = new Queue<Task>();

	static TaskManager instance;

	void Start()
	{
		instance = this;
	}

	public static void RequestTask(string RequestType,bool CurrentlyInProgress,string MaterialType,int Count) {
		Task newRequest = new Task(RequestType,CurrentlyInProgress,MaterialType,Count);
		instance.RequestedTasks.Enqueue(newRequest); // line 18
	}

	struct Task
	{
		public string Type;
		public bool Taken;
		public string ResourceType;
		public int Ammount;	

		public Task(string RequestType,bool CurrentlyInProgress,string MaterialType,int Count)
		{
			Type = RequestType;
			Taken = CurrentlyInProgress;
			ResourceType = MaterialType;
			Ammount = Count;
		}
	
	}
		
}

using UnityEngine;
using System.Collections;

public class StorageTest : MonoBehaviour {

	// Use this for initialization
	void Start () {
		
		TaskManager.RequestTask ("Gather", false, "wood", 5);
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}

It seems like, that error happens when the Start()-Method of the StorageTest-Component is executed before the Start()-Method of TaskManager.

So TaskManager’s static variable “instance” is not yet set and thus the ReferenceError.

You could solve this by using Script Execution Order-Settings of the Project (in Unity Edit > Project Settings > Script Execution Order, see Unity - Manual: Script Execution Order settings for Details) to ensure that the Start-Method of Components of Type TaskManager is always executed before the Start-Method of StorageTest.