유니티

퀵 커맨드(QuickCommand) 런타임 명령어 및 로그 모니터링 에셋 / Unity Runtime Command Console and Log Monitor

고라니TV 2024. 12. 29. 03:38

퀵 커맨드(QuickCommand)란?

런타임 중에 명령어로 함수를 호출할 수 있으며 로그를 보는 등 테스트에 매우 유용하게 사용될 것입니다.

제가 직접 만든 에셋으로 유니티 에셋스토어 유료에셋 판매 예정이므로 똑같은 에셋으로 에셋스토어 등록은 불가합니다.

이 글을 보시는 여러분들은 상업용 무료로 사용하시면 되겠습니다!

 

QuickCommand.unitypackage
0.01MB

특징으로는

  • 유니티 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 명령어로 모든 실행가능한 함수를 확인할 수 있습니다.