-
퀵 커맨드(QuickCommand) 런타임 명령어 및 로그 모니터링 에셋 / Unity Runtime Command Console and Log Monitor유니티 2024. 12. 29. 03:38
퀵 커맨드(QuickCommand)란?
런타임 중에 명령어로 함수를 호출할 수 있으며 로그를 보는 등 테스트에 매우 유용하게 사용될 것입니다.
제가 직접 만든 에셋으로 유니티 에셋스토어 유료에셋 판매 예정이므로 똑같은 에셋으로 에셋스토어 등록은 불가합니다.
이 글을 보시는 여러분들은 상업용 무료로 사용하시면 되겠습니다!
특징으로는
- 유니티 Window - General - Console에 뜨는 Debug 로그를 똑같이 볼 수 있습니다.
일반적인 로그는 흰색, 경고는 노랑, 에러 및 익셉션은 빨강에 디테일 로그도 표시됩니다. - 명령어로 실행하고 싶은 함수 위에 [Command] 어트리뷰트만 붙히면 런타임 중에 함수를 실행할 수 있습니다.
- 단축키로 명령을 입력할 때 축약해 입력할 수 있습니다.
- 자주 변화하는 값을 로그 위쪽에서 확인할 수 있습니다.
- 다양한 해상도에도 적절하게 대응됩니다.
사용법
QuickCommand 패키지를 유니티에 임포트하고 프리팹을 하이어라키에 끌어다 놓습니다.
캔버스와 입력을 사용하므로 씬에 EventSystem이 없다면 추가합니다.
컴포넌트
- MaxLogLength
최대 로그 길이입니다. 기본값 100 - OpenKeyWithCtrl
Ctrl 키와 함께 해당 키를 누르면 창을 열기/닫기 할 수 있습니다. 기본값 ` (Back Quote)
하이어라키
- CommandBtn
왼쪽 아래 투명 버튼 더블클릭 시 창을 엽니다.
모바일 환경에서도 창을 열 수 있습니다.
모바일에서 테스트 안하거나 거슬린다면 비활성화 하거나 위치를 옮기면 됩니다. - CommandView
보여지는 창입니다.
처음에 숨긴 상태로 하려면 비활성화 하시면 됩니다.
Test.cs
using UnityEngine; using QuickCmd; public class Test : MonoBehaviour { [Command] void Hello() { Debug.Log("Hello"); } [Command] void Hello2() { Debug.Log("Hello2"); } [Command] void Hello3(int num) { Debug.Log($"Hello3 {num}"); } [Command] void MyFunc(int num, string message) { Debug.Log($"MyFunc {num} {message}"); } void Update() { if (Input.GetKeyDown(KeyCode.Alpha7)) { QuickCommand.SendWatch("num", Random.Range(0, 100)); } else if (Input.GetKeyDown(KeyCode.Alpha8)) { QuickCommand.SendWatch("myVec", Random.insideUnitSphere); } else if (Input.GetKey(KeyCode.Alpha9)) { QuickCommand.SendWatch("time", Time.time); } } }
씬에 하나만 존재하는 스크립트에 함수 명령어가 가능합니다.
QuickCmd 네임스페이스를 선언해야 하며 [Command] 어트리뷰트를 붙히면 됩니다.
매개변수로는 텍스트로 입력이 가능한 int, float, bool, string같은 단순한 타입이어야 합니다.
또 화면에 나만의 변수를 눈으로 확인하고 싶을 때가 있습니다.
그럴때는 QuickCommand.SendWatch(string key, object value) 를 이용하면 됩니다.
키에 맞게 값이 로그 위쪽에 출력됩니다.
함수명을 적을 때 관련 이름 순으로 도움말이 뜨고 방향키 위 아래로 명령을 선택한 후 Tab을 누르면 자동완성이 됩니다.
매개변수가 있다면 한 칸 스페이스를 띄워 구분하면 됩니다.E 클릭으로 로그를 깨끗이 지웁니다.
X 클릭으로 창을 닫습니다.
왼쪽 아래 투명 버튼 더블 클릭으로 모바일 환경에서도 창을 열 수 있습니다.
Ctrl + ` 키를 눌러 창을 활성화 비활성화 토글 할 수 있습니다.
/help 명령어로 모든 실행가능한 함수를 확인할 수 있습니다.
'유니티' 카테고리의 다른 글
- 유니티 Window - General - Console에 뜨는 Debug 로그를 똑같이 볼 수 있습니다.