Unable to use global Dictionary in function. "NullReferenceException"

Hi there!

I’m horribly stuck and have yet to find a solution, and appreciate it in advance any assistance the community can give me. Initially, the script used a list to store a class type ‘Questions’ which I am trying to create a dictionary so that I have a key->value pair. I call the dictionary in the MainController class shown below

using System.Collections.Generic;

public class MainController : MonoBehaviour
        public Dictionary<int, Questions> GameQuestions;



I then later use the GameQuestions dictionary in the LoadQuestions function as shown below:

void Start()
		//Invoke the load question coroutine
		if (Mode == DownloadMode.Offline)
		else if (Mode == DownloadMode.Online)

private IEnumerator LoadQuestions()
		//Show the splash screen

		//Hide the retry button

		//Activate the splash screen loading animation and start playing it

		//load the questions from the XML
		TKContainer ic = TKContainer.Load(OfflinePath);
        if (AllQuestions.Count > 0)


When I’m trying to call GameQuestions.Count in the LoadQuestions IEnumerator, I receive the following error.

The errror refers that I never create the GameQuestions variable, yet I have and doesn’t seem to recognize it. Visual Studios never errors that I haven’t created the variable yet, so I wouldn’t know why it isn’t being found. I at a lost and can’t seem to figure it out. It worked perfectly when it was a list, however errors as a dictionary. The only differences between the two generics is that a dictionary isn’t serializable, but I wouldn’t think at all that would cause this issue. I have made GameQuestions as a local variable and it does work when it is in the function, however I need it to be a global variable as many other functions rely on it. Once again, thank-you for your assistance and I will provide more information if you need it.


You haven’t actually created the dictionary object. Try this:

public Dictionary<int, Questions> GameQuestions = new Dictionary<int, Questions> ();