High-performance Unity iOS/Android logger built with native platform UI
Clone or download
weeeBox Merge pull request #110 from SpaceMadness/develop
Added contribution guidelines
Latest commit 315dfb0 Apr 26, 2018

README.md

Lunar Unity Mobile Console

Asset store link: https://www.assetstore.unity3d.com/en/#!/content/43800
Requires Unity 5.0 or later.

iOS demo app: coming soon
Android demo app: https://play.google.com/store/apps/details?id=com.spacemadness.LunarConsole

If you enjoy using the plugin - please, rate and review on the Asset Store!

Table of Contents

About

The project goal is to build a high-performance and lightweight Unity native iOS/Android console for ease of testing and debugging.

Platform Support

  • iOS: requires iOS 8 or later
  • Android: requires API Level 14 or later

Key Benefits

  • Native C/Objective-C/Java code with a low memory footprint.
  • Works well with huge logs amount (up to 65536 entries).
  • Completely built with native iOS/Android UI (does NOT rely on Unity GUI).
  • Resolution independent (looks great on highres/retina displays).
  • Does NOT modify scenes and does NOT add new assets.
  • Removes completely from the release build with a single mouse click or from command line (absolutely NO traces left).

Features

  • Instant error notification (never miss an unhandled exception again):

- Quick logger output access with a multi touch gesture:

- Crystal clear font and a nice mobile-friendly interface:

- User-Defined Actions & Variables (currently in preview):

- Transparent log overlay view:

- Filter by text and log type:

- Collapse similar elements:

- Tap log entry to view the stack trace:

- Copy-to-clipboard and e-mail options. - Automatic updates!

Installation

  • Automatic:
    Unity Editor Menu: Window ▶ Lunar Mobile Console ▶ Install...

  • Manual:
    Drag'n'Drop LunarConsol.prefab (Assets/LunarConsole/Scripts/LunarConsole.prefab) into your current scene hierarchy and save your changes. You only need to do it once for your startup scene.

Usage

You can open the console with a multi touch gesture or using the API call from a script (see API Guide for details).

Configuration

  • Select LunarConsole game object in the Hierarchy window.
  • Find Lunar Console script settings in the Inspector window.
    • Set the capacity (the maximum number of lines the console can hold). It's advised to keep this amount low (the more you have - the more memory it will take).
    • Set the trim amount (how many lines will be removed from the beginning of the log when console overflows).
    • Choose a gesture from the drop down list or select None to completely disable multi touch gestures (you would still be able to open the console from your scripts).
    • Check "Remove Rich Text Tags" to remove rich text tags from the output (may cause performance overhead).

User-Defined Actions and Variables (only available in PRO version)

For more information on Actions and Variables check the user guide.

Stack Trace Frames

Touch the log entry to view its stack trace.

Important: make sure to properly configure your build settings (File ▶ Build Settings...) otherwise you will only be able to see exceptions traces.

  • iOS: check the "Development Build" checkbox

  • Android: check the "Development Build" checkbox

For more info see: http://docs.unity3d.com/Manual/PublishingBuilds.html

Enabling/Disabling Plugin

If Lunar Mobile Console is

  • enabled - the plugin files would appear in your iOS/Android build: you can access the console with a multi touch gesture or from a script.
  • disabled - the plugin files would NOT appear in your iOS/Android build: you can't access the console (multi touch gestures or API calls would be ignored).

To

  • disable:
    Window ▶ Lunar Mobile Console ▶ Disable
  • enable:
    Window ▶ Lunar Mobile Console ▶ Enable

Important: make sure to "replace" your generated Xcode project whenever you switch the plugin from enabled to disabled (or back). Failing to do so may lead to an unexpected result!

For more detailed information check Wiki page: Enabling and Disabling Lunar Mobile Console.

Unity Cloud Build Support

Lunar Mobile Console is fully compatible with Unity Cloud Build.

  • For more information check the user guide
  • For Cloud Build related issues check the troubleshooting guide

Build System Support

You can enable/disable the plugin from the command line (and make it a part of your build process)

  • To disable:
    <UNITY_BIN_PATH> -quit -batchmode -executeMethod LunarConsoleEditorInternal.Installer.DisablePlugin
  • To enable:
    <UNITY_BIN_PATH> -quit -batchmode -executeMethod LunarConsoleEditorInternal.Installer.EnablePlugin

<UNITY_BIN_PATH> locations:

  • Mac OS X: /Applications/Unity/Unity.app/Contents/MacOS/Unity
  • Windows: c:\Program Files\Unity\Editor\Unity.exe
  • Linux: TBD
    Note: if you're using Lunar Mobile Console older than v0.8.0 (v0.0.1b-v0.7.1) you would need to use LunarConsolePluginInternal.Installer.DisablePlugin and LunarConsolePluginInternal.Installer.EnablePlugin instead.

Troubleshooting

Please, visit the Troubleshooting Wiki page or post your question on the official forum thread.

Miscellaneous

Check for Updates

Window ▶ Lunar Mobile Console ▶ Check for updates...

Bug Reports

Window ▶ Lunar Mobile Console ▶ Report bug...

Contacts

For anything else: lunar.plugin@gmail.com

Social Media

Thanks for using Lunar Mobile Console!