Unity 에서 Debug 클래스는 콘솔에 로그를 출력하거나 , 경고 / 에러를 표시하고
디버깅 시 유용한 시각적 정보를 제공하는 도구이다.
개발 중에 코드가 제대로 동작하는지 확인하기 위한 도구 집합이다.
Unity Debug 클래스 핵심 명령어 정리
| 명령어 | 설명 | 예시 |
| Debug.Log( ) | 일반 로그 메세지를 콘솔에 출력한다 | Debug.Log( "Hello Unity!" ); |
| Debug.LogWarning( ) | 경고 ( Warning ) 메세지를 노란색으로 출력한다 | Debug.LogWarning( "체력이 낮습니다" ); |
| Debug.LogError( ) | 에러 ( Error ) 메세지를 빨간색으로 출력한다 | Debug.LogError( "Null Reference" ); |
| Debug.Assert( ) | 조건이 false 일 때만 에러를 출력한다 ( 테스트용 ) | Debug.Assert( hp > 0 , "플레이어 HP 가 0 이하힙니다." ); |
| Debug.DrawLine( ) | 두 점 사이에 선 ( Line ) 을 Scene 뷰에 그린다 | Debug.DrawLine( player.position , target.position , Color red ); |
| Debug.DrawRay( ) | 한 점에서 시작해 방향으로 Ray ( 선 ) 을 그린다 | Debug.DrawRay(transform.position , Vector3.forward * 5 , Color.green); |
| Debug.Break( ) | 에디터에서 일시정지 ( Pause ) 시킨다 | if ( enemyCount > 10 ) Debug.Break( ); |
| Debug.ClearDeveloperConsole( ) | 콘솔창 로그를 모두 지운다 | Debug.ClearDeveloperConsole( ); |
| Debug.isDebugBuild | 현재 빌드가 디버그 모드인지 확인 ( 읽기 전용 ) | if ( Debug.isDebugBuild ) Debug.Log( "디버그 빌드" ); |
| Debug.LogFormat( ) | 문자열 포맷팅 지원 로그 | Debug.LogFormat( "HP : {0} / {1}" , currentHP , maxHP ); |
예시 코드
▼ 변수 상태 확인용
Debug.Log("현재 체력: " + playerHP);
▼ 조건문 확인용
if (enemy == null)
Debug.LogError("적 오브젝트가 비어 있습니다!");
▼ 성능 / 위치 확인용
Debug.DrawRay(transform.position, transform.forward * 5, Color.yellow);
▼ 특정 조건에서 일시정지
if (score > 1000)
{
Debug.Log("점수 1000 돌파!");
Debug.Break(); // 에디터 멈춤
}
주의할 점
Debug.Log 류는 빌드 후에도 남기면 성능에 영향을 줄 수 있다
#if UNITY_EDITOR 같은 전처리기로 감싸서 에디터에서만 실행시키는 것이 좋다.
#if UNITY_EDITOR
Debug.Log("이 코드는 에디터에서만 출력됩니다.");
#endif
정리
| 구분 | 기능 |
| Log 계열 | 콘솔 출력 ( Log , LogWarning , LogError , LogFormat ) |
| Assert 계열 | 조건 검증 및 오류 탐지 |
| Draw 계열 | Scene 뷰에 시각적 디버그 선 표시 ( DrawLine , DrawRay ) |
| Control 계열 | 디버깅 중 제어 ( Break , ClearDeveloperConsole ) |