Unity 2021.3.16f1
Burst 1.6.6
----
유니티에서 필요한 에셋을 추가(Magica Cloth)하니 Package Manager에서 Burst도 추가를 요구한다.
추가하고 빌드하니 아래와 같은 폴더를 자동생성하고 있다.
[폴더명 예시] BuildName_BurstDebugInformation_DoNotShipDeleter
그래서 이전에 했던방식과 같이 OnPostprocessBuild에서 빌드 후 삭제하기로 함
using System.IO;
using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
/// <summary>
/// Burst 관련 빌드 후 생성되는 백업 폴더 삭제
/// </summary>
public sealed class BurstDebugInformation_DoNotShipDeleter : IPostprocessBuildWithReport
{
public int callbackOrder => 0;
// 확정된 폴더명은 readonly 변수로 만듬
private readonly string m_strBurstDebugInformation_DoNotShip = "BurstDebugInformation_DoNotShip";
public void OnPostprocessBuild(BuildReport report)
{
var summary = report.summary;
var platform = summary.platform;
if (platform != BuildTarget.StandaloneWindows
&& platform != BuildTarget.StandaloneWindows64
&& platform != BuildTarget.Android // Android 플랫폼에서도 작동하도록 추가
&& platform != BuildTarget.iOS) // iOS 플랫폼에서도 작동하도록 추가
{
return;
}
if (summary.options.HasFlag(BuildOptions.Development))
{
return;
}
var outputPath = summary.outputPath;
var outputDirectoryPath = Path.GetDirectoryName(outputPath);
// 빌드 폴더 이름이 FileName을 따라가서 FileName을 폴더명으로 쓰도록 수정
var outputFileName = Path.GetFileNameWithoutExtension(outputPath);
//var productName = PlayerSettings.productName;
var backUpThisFolderPath = $"{outputDirectoryPath}/{outputFileName}_{m_strBurstDebugInformation_DoNotShip}";
if (!Directory.Exists(backUpThisFolderPath))
{
return;
}
Directory.Delete(backUpThisFolderPath, true);
}
}
[참조] https://forum.unity.com/threads/burstdebuginformation_donotship-in-builds.1172273/