24b0d121e09c28a8699fe8b115ef046a796be8cf3c


디버그 신-사




유니티에서 디버깅을 해야 하는 상황은 꽤 많을거임.



24b0d121e09c28a8699fe8b115ef046c64f9214b


로그를 찍거나 빨간점을 찍는 것도 물론 해당.


이런 건 코드 레벨에서의 오류를 찾기 위한 용도로 주로 쓰이고, 워낙 정보가 많아서 다들 잘 쓰고 있을거야.

다만 플레이하면서 실제로 발생하는 실시간 값 오류 등을 추적하기엔 약간 부적합한 면이 있음.

물론 못 쓴다는 건 아냐.



24b0d121e09c28a8699fe8b115ef0468e0aeebb362


매 업데이트마다 Mono 스크립트를 담고 있는 수많은 오브젝트가 내뿜는 로그를 하나하나 추적할 수 있다면 말이지.


이런 걸 확인해야 하는 상황이라면 보통 로직에는 문제가 없고 에러도 안 나지만, 이상한 값이 들어가서 게임 흐름이 엉망이 되어 버린 경우임.

이런 상황에서 쓰기 좋은 유니티 에디터 기능이 하나 있음.



24b0d121e09c28a8699fe8b115ef0468e5a8edb8


그건 바로 디버그 모-드

6버전 기준으로 인스펙터 창 우측의 점3개 누르면 메뉴 나와.


이 기능을 활성화하면 플레이 모드에서 해당 객체가 사용중인 대부분의 전역변수의 값까지 인스펙터에서 확인할 수 있어.



24b0d121e09c28a8699fe8b115ef046f574e999c

노말 모드에서는 이렇게 깔끔한 인스펙터의 스크립트 창이...




24b0d121e09c28a8699fe8b115ef046a7b6beec8


디버그 모드에서는 이따구로 변함.

스크립트상에서 private로 선언한 대부분의 전역 변수를 몽땅 표시해주는 기능임.



7feb8077b78a3faf68ee98b21fd70403114e5cefd5a56267e869


당연히 플레이 모드에서 실시간으로 값을 추적할 수 있어.


상당히 유용한 기능임. 이를 테면 전투에 버프 시스템을 추가했는데 특정 버프를 사용하면 의도 이상의 강력한 공격이 들어가는데 버프값은 정상적인 경우.

이럴 땐 보통 버프 효과가 데미지에까지 전달되는 과정 어딘가에서 값이 변조가 된 건데, 이 기능을 사용하면 그걸 추적하기가 한결 수월함.


혹은 수많은 유닛들 중 한두개만 고장나는 경우.

Log같은 경우는 해당 클래스를 담고 있는 모든 객체가 싸그리 로그를 찍어내지만, 이걸 사용하면 고장나있는 객체의 값만 전체적으로 추려서 볼 수 있지.



물론 사람마다 겪는 문제도 다 다르고 해결 방법도 다 다르니 이게 무조건 좋다는 건 아니지만

실시간으로 변수값을 전부 확인할 수 있는 꽤 유용한 기능이라서 혹시나 도움이 될까 싶어 글 조심스럽게 적어봤어.



다들 인디 개발 화이팅!