static void Init()
    {
        // Get existing open window or if none, make a new one:
        BuildWindow window = (BuildWindow)EditorWindow.GetWindow(typeof(BuildWindow));

        //Get the reference to the build scriptable object.
        buildSO = (BuildSO)AssetDatabase.LoadAssetAtPath("Assets/Editor/NewBuildSO.asset", typeof(BuildSO));
    }
    void OnGUI()
    {
        //If the project recompiles, it loses the buildSO reference, so we grab it again if it is null.
        if (buildSO == null)
        {
            buildSO = (BuildSO)AssetDatabase.LoadAssetAtPath("Assets/Editor/BuildSO.asset", typeof(BuildSO));
        }
        EditorGUILayout.LabelField("Current platform target is: " + buildSO.targetPlatform);
        build_platform = (BUILD_PLATFORM)EditorGUILayout.EnumPopup("select target platform:", build_platform);

        EditorGUILayout.Space();

        EditorGUILayout.LabelField("Current api target is: " + buildSO.apiTarget);
        build_api = (BUILD_API)EditorGUILayout.EnumPopup("select target platform:", build_api);

        EditorGUILayout.Space();


        EditorGUILayout.LabelField("Current Semester target is: " + buildSO.semester);
        build_semester = (BUILD_SEMESTER)EditorGUILayout.EnumPopup("select target platform:", build_semester);

        EditorGUILayout.Space();

        EditorGUILayout.LabelField("Current Build type is: " + buildSO.institution);
        build_institution = (BUILD_INSTITUTION)EditorGUILayout.EnumPopup("select target platform:", build_institution);

        EditorGUILayout.Space();

        if (GUILayout.Button(" Build Game "))
        {
            Debug.Log("Building game");
            SetSOValues();
            BuildSetup();
        }
        if (GUILayout.Button(" Just Change BuildSO "))
        {
            Debug.Log("Changing buildSO");
            SetSOValues();
        }
    }