Unity 에서 원격으로 사용가능한 Console 패키지

HANBYEOL LEEHANBYEOL LEE
3 min read

Unity로 개발하는 동안 유용하게 사용하던 콘솔 에디터를 오픈 소스로 공개했습니다.

네트워크 연결을 통해 앱에서 생성된 로그를 에디터에서 원격으로 확인할 수 있고, 사용자 정의 명령어를 실행할 수 있어 다양한 테스트와 디버깅에 유용합니다.

Unity 패키지 매니저를 사용하여 쉽게 설치하고 사용할 수 있습니다.

Introduction

RemoteConsole 은 원격으로 전송 되는 로그를 통해 디버깅을 하고, 사용자 정의 명령어를 이용하여 개발 편의성을 높이는 강력한 툴입니다.

  • 유니티 기본 콘솔의 모든 기능을 지원합니다

  • 빌드 된 앱과 원격 으로 연결되어 사용자 정의 명령어 를 실행합니다

  • 빌드 된 앱과 원격 으로 연결되어 로그 를 확인할 수 있습니다

  • 원격 으로 연결 된 앱에 Pause, Step 기능을 이용하여, 프레임 단위 실행이 가능합니다

  • 로그 발생 시점의 시간, 프레임 카운트, 오브젝트 를 쉽게 확인 가능합니다

  • 편리한 로그 필터 기능을 제공합니다

  • 연결된 앱의 시스템 정보 및 간단한 프로파일(FPS, UsedHeap) 정보를 확인 가능합니다

  • 로그 발생 게임오브젝트와 소스코드 를 편리하게 확인할수 있습니다.


Features

사용자 정의 명령어

플레이 중 각종 값을 변경 가능하며 테스트나 디버깅에 유용합니다

  1. 스크립트에서 SPlugin.SCommand.Register 함수를 이용하여 사용자 정의 명령어를 등록합니다

  2. SConsole 에디터의 CommandView 에서 등록된 사용자 정의 명령어를 확인 가능합니다

  3. 사용자 정의 명령어의 값을 변경합니다


로그

  • UnityEngine.Debug 이용

    1. 스크립트에서 UnityEngine.Debug.Log 함수를 이용하여 로그를 작성합니다

    2. SConsole 에디터의 Preferences 에서 Show UnityDebugLog 를 활성화 합니다

    3. SConsole 에디터의 LogView에서 로그 확인이 가능합니다

  • SPlugin.SDebug 이용

    1. 스크립트에서 SPlugin.SDebug.Log 함수를 이용하여 로그를 작성합니다

    2. SConsole 에디터의 LogView에서 로그 확인이 가능합니다


편리한 필터 기능

  • Search 를 이용하여 로그 찾기

  • Exclude 를 이용하여 로그 제외하기

  • QuickSearch 를 이용하여 로그 찾기

quick_search.gif


Pause, Step

원격으로 연결된 앱에서 프레임 단위 플레이가 가능하여 디버깅에 도움이 됩니다


원격 접속

  • 로컬 네트워크에서 접속 가능한 앱을 찾아 연결

    1. SConsole 에디터의 ApplicationView 에서 접속이 가능한 앱을 찾습니다

    2. 연결 가능한 앱이 있을 경우 리스트에 등록 됩니다

    3. 앱을 선택 합니다

  • 로컬 네트워크의 사설 IP 또는 공인 IP 를 이용하여 앱 연결

    1. SConsole 에디터의 ApplicationView 에서 로컬 네트워크의 사설 IP 또는 공인 IP를 입력합니다

    2. Connect 버튼을 눌러 연결 합니다

connect_to_remote_app.gif


시스템 및 프로파일 정보

  1. SConsole 에디터의 ApplicationView 에서 앱 리스트를 확인합니다

  2. ShowInfo 버튼을 눌러 시스템 및 프로파일 정보를 확인합니다

systeminfo.png


Getting started

  1. SRemoteConsole 설치

    1. 유니티 에디터에서 Window/Package Manager 를 클릭 합니다

      select_package_manager.png

    2. Package Manager 의 왼쪽 상단 + 버튼을 클릭하고 Add package from git URL... 을 선택합니다

      select_add_menu_with_git.png

    3. SRemoteConsole 패키지의 git 주소를 입력 합니다

      https://github.com/hope1026/unity_s_remote_console_package.git

    4. Add 버튼을 클릭하면 패키지가 설치 됩니다

      add_git_url.png

  2. SRemoteConsole 실행

    1. 유니티 에디터에서 Window/SPlugin/SConsole 를 클릭 합니다

      select_remote_console.png

    2. 스크립트에 로그를 작성합니다

      • SPlugin.SDebug.Log("log");
    3. SConsole 에디터에서 로그를 확인 합니다


Disable SRemoteConsole

  • Project Settings -> Player -> Scripting Define Symbols 에 DISABLE_SREMOTE_CONSOLE 를 추가하여 비활성화 할수 있습니다

    • 에디터에서 SRemoteConsole은 실행되지만 Runtime에 동작하지 않아 릴리즈 배포시 유용하게 사용할수 있습니다

disable_sremote_console_define.png

더 자세한 정보 보기

0
Subscribe to my newsletter

Read articles from HANBYEOL LEE directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

HANBYEOL LEE
HANBYEOL LEE