If statement not working correctly C#

So I have a script :
[HeaderAttribute(“Things that are required to fall out”)]
public Transform WoodObject;
public Transform WoodObject1;
public Transform WoodObject2;
public Transform WoodObject3;
public Transform WoodObject4;
public Transform WoodObject5;
public Transform WoodObject6;
public Transform WoodObject7;
public Transform WoodObject8;
public Transform WoodObject9;
public Transform WoodObject10;
public Transform WoodObject11;
public Transform WoodObject12;
public Transform WoodObject13;

	[HeaderAttribute("The CantGoPast")]
	public GameObject ObjectCantGoBy;
// the things above declares all the variables

	void Update ()
	{

// this is supposed to make it transition to a scene called MainMenu when the WoodObject goes past the y axis of the variable “ObjectCantGoBy”

		if (WoodObject.transform.position.y <= ObjectCantGoBy.transform.position.y) {
			EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject1.transform.position.y <= ObjectCantGoBy.transform.position.y) {		
			EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject2.transform.position.y <= ObjectCantGoBy.transform.position.y) {
			EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject3.transform.position.y <= ObjectCantGoBy.transform.position.y) {
			EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject4.transform.position.y <= ObjectCantGoBy.transform.position.y) {
			EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject5.transform.position.y <= ObjectCantGoBy.transform.position.y) {
			EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject6.transform.position.y <= ObjectCantGoBy.transform.position.y) {
			EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject7.transform.position.y <= ObjectCantGoBy.transform.position.y) {
			EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject8.transform.position.y <= ObjectCantGoBy.transform.position.y) {
		EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject9.transform.position.y <= ObjectCantGoBy.transform.position.y) {
			EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject10.transform.position.y <= ObjectCantGoBy.transform.position.y) {
			EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject11.transform.position.y <= ObjectCantGoBy.transform.position.y) {
			EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject12.transform.position.y <= ObjectCantGoBy.transform.position.y) {
			EditorSceneManager.LoadScene ("MainMenu");
			return;

		} else if (WoodObject13.transform.position.y <= ObjectCantGoBy.transform.position.y) {
			EditorSceneManager.LoadScene ("MainMenu");
			return;
		}
		else
		{
			Debug.Log("The Object is at" + WoodObject.position.y + " is greater than ObjectThatCantGoBy, which is at" +ObjectCantGoBy.transform.position.y );
			return;
		}
	}
}

“You Keep Using That elseif , I Do Not Think It Means What You Think It Means” - Inigo Montoya, 1987

I’m always a bit dumb with elseif but i don’t think the way you used it works. try using if instead. also how would you know which object went past? (if this is important), you may want to return a number value inside the ‘if’ so that you can write something like

Debug.Log("the object " + returnedWoodValue + "went past.........."); //or whatever :)