개발을 하다 보면 Debugging을 자주 사용하게 된다. 하지만, Debugging 자체가 성능을 많이 잡아 먹는 다고 하니, 개발이 끝난 이후에는 일일이 삭제를 하는 편이다. 또한, 빌드를 했을 때도 Debugging은 그대로 작동을 하게 된다. Android 빌드를 하고 Logcat을 찍어보면 Debug 클래스가 그대로 작동하는 것을 확인 할수 있다.
빌드에 포함 시키지 않고, 에디터에서만 돌아가게 하는 방법은 [System.Diagnostics.Conditional("UNITY_DEDITOR")] 을 사용하면 된다. 에디터 일때만 Debug.logger.logEnabled = false 을 사용하는 방법은 클래스 호출은 그대로 이기 때문에 비효율적이다.
하지만, 먼제 제시한 방법은 빌드 했을 때, 그런 호출이 일어나지 않기 때문에 성능의 저하가 일어나지 않는 다고 한다.
[System.Diagnostics.Conditional("UNITY_EDITOR")]
public static void Log (object message)
{
UnityEngine.Debug.Log (message);
}
[System.Diagnostics.Conditional("UNITY_EDITOR")]
public static void Log (object message, UnityEngine.Object context)
{
UnityEngine.Debug.Log (message, context);
}
[System.Diagnostics.Conditional("UNITY_EDITOR")]
public static void LogError (object message)
{
UnityEngine.Debug.LogError (message);
}
[System.Diagnostics.Conditional("UNITY_EDITOR")]
public static void LogError (object message, UnityEngine.Object context)
{
UnityEngine.Debug.LogError (message, context);
}
'Game Dev > Unity' 카테고리의 다른 글
GitActions Unity CI/CD 개발기 - CI 개발 (1) | 2023.07.03 |
---|---|
GitActions Unity CI/CD 개발기 - 무엇을 써야할까 (0) | 2023.07.03 |
게임 엔진의 역사와 동작 원리 - (24절기 발표 내용) (0) | 2023.06.25 |
Unity - Nuget 패키지 적용 하는 법 (1) | 2023.05.19 |
UniTask - How to use UniTask (태스크 생성, 취소) (0) | 2023.05.15 |