#if UNITY_EDITOR
using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
using UnityEditor.SceneManagement;
using UnityEngine;
class BuildPreProcessor : IPreprocessBuildWithReport {
public int callbackOrder => 0;
public void OnPreprocessBuild(BuildReport report) {
EditorSceneManager.OpenScene("Assets/01_Scenes/LoginScene.unity", OpenSceneMode.Single);
GameManager _gm = Object.FindObjectOfType<GameManager>();
bool yesNo = EditorUtility.DisplayDialog("Build Target Check!",
"Current build target = " + _gm.buildFor.ToString() + "\n Are you sure?",
"BUILD", "Cancel");
if (yesNo) {
} else {
throw new BuildFailedException("Build canceled.");
}
}
}
#endif
정확히는 빌드 전에 어느 씬에서 오브젝트를 찾아서 변수 체크하고 그 값을 알려준 뒤
빌드를 계속할 지 물어보는 기능.
가끔 디버그 켜놓고 릴리즈 빌드를 하는 실수 방지용.