Why after adding this does it freeze when trying to run the game?

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class MoveKeysToggle : MonoBehaviour {

	public bool Toggled;
	private Text TextGet;

	void Start () {
		Toggled = false;
		TextGet = GameObject.Find ("Move Keys Toggle Text").GetComponent <Text> ();
	}
	void Update () {
		Toggled = GetComponent <Toggle> ().isOn;
		if (Toggled == true)
		{
			TextGet.text = "Move Keys: Arrows";
		}
		if (Toggled == false)
		{
			TextGet.text = "Move Keys: WASD";
		}
	}
}

Again that isn’t freezing, all that’s happened is you’ve placed a great big canvas in front of everything, I added a very simple script to Debug the word hello every second and it outputs every second.

All you need is a way to close that canvas or start with it no open but you’ll still need a way to close it.

If you don’t want it to be over the top of everything at the start just setActive to false or put a CanvasGroup on there and set the alpha to 0 and interactable and blocksraycast to false.

EDIT

Here’s a simple close button script, it hold 2 ways of closing. I like the CanvasGroup method because you can fade out a menu but SetActive is easier to achieve.

using UnityEngine;
using System.Collections;

public class CloseMenu : MonoBehaviour {

	public Canvas MyCanvas;
	private CanvasGroup myCG;

	void Start()
	{
		myCG= MyCanvas.GetComponent<CanvasGroup>();
	}

	public void BeenClicked()
	{
		// This way if you want to use a canvase group
		myCG.alpha = 0f;
		myCG.interactable = false;
		myCG.blocksRaycasts = false;

		// this way if you want to use SetActive
		MyCanvas.gameObject.SetActive(false);
	}
}

EDIT:

Looking at the other canvases you’re using the sort order to navigate between them but you didn’t do that for that menu and it started at the front.

Now if all you want to do is navigate between menus that’s fine but what about when you want to start the game. Looks like you’ve got a 3D character in there so I’m assuming the game’s going to be 3D and you’ll have a terrain and all that.

the way you’ve got it setup at the moment is fine for menu navigation but all those menus sit between the camera and the world so you’ll need some way to hide them if you’re ever going to see that world.

EDIT

Then that’s fine all you need to do is set the Canvas.SortingOrder just like you do on all those other Cavases you’ve got. That’s the only thing you’re missing. Look at the OnClick in Options Canvas → Settings Button for an example of how you already set it up!

EDIT - final one hopefully!

Well I have no idea what’s going on at your side but this is package I got working:

AR-Mmmpies