[에디터확장] WindowsIL2CPPBuildBackUpThisFolderDeleter
[사용엔진] Unity 2021.3.9f1
Unity 2021을 설치하고 Android 빌드를 하니 빌드 파일 위치에 'BuildFileName_BackUpThisFolder_ButDontShipItWithYourGame'라는 폴더가 생긴다.
난 프로젝트 메인 위치에 빌드 파일 생성하게 하다보니 'BuildFileName_BackUpThisFolder_ButDontShipItWithYourGame' 폴더가 git이 인식하는 위치에 생성되는데다
BuildFileName을 계속 넘버링하면서 만들다보니 위의 폴더도 계속 생성된다.
[문제점]
1. 폴더가 파일명에 맞게 계속 생성돼서 계속 많아진다.(SSD/HDD 용량이슈 등)
2. 생성되는 폴더 위치가 git 관리 영역이라 git에 생성된 파일로 보여서 문제가 생긴다.(파일 갯수도 많음)
그래서 유니티에 생성 안하게 하는 옵션이 없나하고 검색해 봤지만 별시리 없는 것 같고..
계속 검색하다보니 PostprocessBuild로 해당 폴더를 삭제 해버리는 방식을 사용하는 포스팅을 보고 적용해서 잘되는 것을 확인하고 올려 둔다.
[해결방법]
- 아래 Script를 Editor 폴더에 넣자~
using System.IO;
using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
public sealed class WindowsIL2CPPBuildBackUpThisFolderDeleter : IPostprocessBuildWithReport
{
public int callbackOrder => 0;
// 확정된 폴더명은 readonly 변수로 만듬
private readonly string m_strBackUpThisFolder_ButDontShipItWithYourGame = "BackUpThisFolder_ButDontShipItWithYourGame";
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_strBackUpThisFolder_ButDontShipItWithYourGame}";
if (!Directory.Exists(backUpThisFolderPath))
{
return;
}
Directory.Delete(backUpThisFolderPath, true);
}
}
아래 참조한 포스팅의 스크립트는 Windows에서 Android 플랫폼 빌드를 했을때 처리가 안되고,
BuildFileName을 제대로 찾지 못해서 스크립트 내용 중 일부를 수정해서 제대로 삭제하는 것까지 확인함.
[추가 처리]
혹시 몰라서 git에 잘못 올라가지 않도록, git ignore list에 아래와 같이 추가 해놓음.
[git ignore list 추가] *_BackUpThisFolder_ButDontShipItWithYourGame/
[참조] https://baba-s.hatenablog.com/entry/2022/02/08/090000
'Unity3D > Editor' 카테고리의 다른 글
[펌] Unity Editor detect when build fails (0) | 2023.09.20 |
---|---|
[에디터확장] BurstDebugInformation_DoNotShipDeleter (0) | 2023.02.10 |
[링크] 유니티 씬뷰에서 UI, 오브젝트 등 모두 선택이 되지 않을 때 ( Unity Can't select object in scene view ) (0) | 2022.04.19 |
[펌] 유니티 에디터 확장 입문(번역글) (0) | 2018.05.10 |
[펌] Preload Android Keystore Passwords (0) | 2018.05.10 |