유니티에서 Tag를 사용할 때는 문자열 형식으로 직접 값을 입력해야 하는데, 이 과정에서 오타가 발생하거나 tag 이름이 너무 길면 작성하는 데 번거로움을 느끼기 쉽다. 이러한 불편함을 줄이기 위해, 유니티 에디터를 커스터마이징하여 tag를 문자열 상수로 자동 생성해주는 유틸리티 클래스를 만들어보았다.
코드
public class TagEnumCreator: Editor
{
[MenuItem("Tools/Generate Tag Enum")]
public static void GenerateTagEnum()
{
string[] tags = UnityEditorInternal.InternalEditorUtility.tags;
if (Directory.Exists("Assets/Scripts/AutoCreated/Enum/") == false)
{
Directory.CreateDirectory("Assets/Scripts/AutoCreated/Enum/");
}
StreamWriter sw = new StreamWriter("Assets/Scripts/AutoCreated/Enum/Tags.cs");
sw.WriteLine("//This enum is auto create by TagEnumCreator.cs ");
sw.WriteLine();
sw.WriteLine("public static class Tags");
sw.WriteLine('{');
foreach (var tag in tags)
{
sw.WriteLine($"\t public const string T_{tag} = \"{tag}\";");
}
sw.WriteLine("}");
sw.Close();
UnityEngine.Debug.Log("Successfully created TagsEnum enum file.");
}
}
단점! 메모리 사용량이 아주 아주 아주 조금이지만 분명히 존재하기는 한다.
'내일배움캠프' 카테고리의 다른 글
내일배움캠프: 커스텀 에디터 (0) | 2024.12.20 |
---|---|
내일배움캠프: 비동기 씬을 이용한 콜백 (0) | 2024.12.19 |
내일 배움 캠프: 타일맵 깜빡임 현상 수정하기(Tilemap Flickering) (0) | 2024.12.17 |
내일배움캠프: Mission 시스템 (0) | 2024.12.13 |
내일배움캠프: Audio Mixer를 사용해야 하는 이유 (3) | 2024.12.12 |