콘솔 창(메뉴: 창(Window) > 콘솔(Console))은 Unity 에디터에서 생성되는 오류, 경고, 기타 메시지를 표시합니다. 디버깅을 돕기 위해 Debug.Log, Debug.LogWarning, Debug.LogError 함수를 사용하여 콘솔에 원하는 메시지를 표시할 수도 있습니다.
콘솔 창의 툴바에는 메시지를 표시하는 방법을 변경할 수 있는 여러 옵션이 있습니다.
지우기(Clear) 버튼은 컴파일러 오류를 제외하고 코드가 생성한 모든 메시지를 지웁니다. 플레이 시 지우기(Clear On Play) 옵션을 활성화하면 게임이 실행될 때 콘솔 창의 내용이 자동으로 지워지도록 설정할 수 있습니다.
또한 메시지를 콘솔에 표시하거나 업데이트하는 방법을 변경할 수 있습니다. 접기(Collapse) 옵션을 선택하면 반복해서 발생나는 오류 메시지를 모두 표시하는 대신 첫 번째 인스턴스만 표시합니다. 각 프레임 업데이트마다 동일하게 발생하는 null 레퍼런스와 같은 런타임 오류를 간결하게 보고 싶을 때 매우 유용합니다. 오류 일시정지(Error Pause) 옵션을 선택하면 Debug.LogError가 스크립트에서 호출될 때마다 재생이 일시 정지됩니다. Debug.Log는 일시 정지되지 않습니다. 이 옵션은 실행 중인 특정 시점에서 재생을 멈추고 씬을 검사하고 싶을 때 편리하게 사용할 수 있습니다.
마지막으로, 오류에 대한 추가 정보를 보기 위한 두 가지 옵션이 있습니다. 콘솔 탭 메뉴의 플레이어 로그 열기(Open Player Log) 와 에디터 로그 열기(Open Editor Log) 옵션을 사용하면 콘솔에 표시되지 않는 세부 정보까지 기록하는 Unity의 로그 파일에 접근할 수 있습니다. 자세한 내용은 로그 파일 페이지를 참조하십시오.
Unity 에디터는 코드에서 쓸모없는 API 호출이 사용되면 경고를 표시합니다. 예를 들어 Unity 에디터에는 MonoBehaviour 및 다른 클래스에서 일반 컴포넌트 타입에 액세스하기 위한 “단축키”가 있었습니다. 예를 들어 다음과 같은 코드를 사용하여 오브젝트의 리지드바디에 액세스할 수 있었습니다.
// The "rigidbody" variable is part of the class and not declared in the user script.
Vector3 v = rigidbody.velocity;
이 단축키는 더 이상 지원되지 않으므로 다음과 같은 코드를 사용해야 합니다.
// Use GetComponent to access the component.
Rigidbody rb = GetComponent<Rigidbody>();
Vector3 v = rb.velocity;
쓸모없는 API 호출이 감지되면 Unity 에디터는 이에 대한 경고 메시지를 표시합니다. 이 메시지를 두 번 클릭하면 Unity 에디터는 더 이상 지원되지 않는 구문을 자동으로 추천 구문으로 업그레이드하려고 시도합니다.
목록에 표시되는 로그 항목의 줄 수를 조절하려면 느낌표 버튼을 클릭한 후 Log Entry 로 이동하여 줄 수를 선택합니다.
이 옵션을 사용하여 표시되는 정보의 양과 로그 항목의 개수를 적절히 고려해서 창의 크기에 알맞게 로그를 표시할 수 있습니다.
로그 메시지가 콘솔이나 로그 파일로 출력될 때 스택 추적의 정확도 수준을 지정할 수 있습니다.
이 옵션은 오류 메시지가 명확하지 않을 때 특히 유용합니다. 스택 추적을 통해 어느 엔진 영역에서 오류가 발생했는지 추론할 수 있습니다. 스택 추적 로깅 옵션은 다음 세 가지입니다.
스크립팅 API를 통해 스택 추적 로깅을 제어할 수도 있습니다.자세한 내용은 Application.stackTraceLogType을 설명하는 API 레퍼런스 문서를 참조하십시오.