Я создаю меню внутри функции Вкл. GUI, например
GUILayout.Label("Singleplayer"); if(GUILayout.Button("Zombie")) ChangeScene("Zombie");
Можно ли программно добавить выпадающий список, как при создании кнопки?
Если вы делаете это в редакторе - то есть в пользовательском инспекторе или в EditorWindow - тогда да:
https://docs.unity3d.com/ScriptReference/EditorGUILayout.DropdownButton.html
Но если вы делаете это в игре, вам нужно прекратить использовать метод On GUI (он больше не поддерживается Unity) и переключиться на использование нового UnityUI (который больше не является «новым» - он заработал почти 5 лет) go! :)). UnityUI имеет встроенную функцию раскрывающегося списка, которую вы создаете непосредственно в редакторе:
https://docs.unity3d.com/2018.4/Documentation/ScriptReference/UI.Dropdown.html
и:
https://docs.unity3d.com/Packages/com.unity.ugui@1.0 / ручной / скрипт-Dropdown. html