Search Unity

  1. Get the latest news, tutorials and offers directly to your inbox with our newsletters. Sign up now.
    Dismiss Notice

[Lunar Mobile Console] High-performance Unity iOS/Android logger built with native platform UI

Discussion in 'Assets and Asset Store' started by weeeBox, Aug 13, 2015.

?

How would you prefer the plugin to be integrated into your project?

  1. Open Source: I can modify files and have them compiled every time Unity builds my game

  2. Binaries: I still have an access to the source code on Github but can't modify them in my project

  3. None: I don't need your plugin - go to hell!

Results are only viewable after voting.
  1. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Hey, guys

    I'm happy to present Lunar Mobile Console: a native solution for debugging Unity iOS/Android games. The plugin is open source. Please, give it a try and let me know what you think!

    PRO version: https://www.assetstore.unity3d.com/en/#!/content/43800
    FREE version: https://www.assetstore.unity3d.com/en/#!/content/82881

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

    Requires Unity 5.2 or later.

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



    Overview:


    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!

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

    Contacts
    For anything else: lunar.plugin@gmail.com
     
    Last edited: Nov 4, 2019
    slimshader likes this.
  2. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Ahoy!

    Lunar Mobile Console v0.0.2b is released on GitHub (Asset Store version is still 'pending'...)!

    Improvements:
    • Preserve console UI state between sessions.
    Fixes:
    • Fixed filtering after console UI is closed.
    p.s. I've also created a short poll and would really appreciate your vote
     
  3. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Yay! The package is live on the Asset Store!

    https://www.assetstore.unity3d.com/en/#!/content/43800

    Please grab it and let me know what you think!

    p.s. I've already have a new version 0.0.2b with some fixes. Would push it soon and hope it goes live faster (the initial submission took about 10 days).
     
  4. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Greetings!

    I can see about 40 downloads for the past 2 days and absolutely no feedback (nor positive or negative). Has anyone used it? What do you think?

    Thanks and have a Happy Friday!
     
  5. adamt

    adamt

    Joined:
    Apr 1, 2014
    Posts:
    116
    Thanks for this, weeeBox. It's looking good so far. A couple of things you might consider:
    1. Add the enablement steps (the 2-finger swipe) to the readme.txt. I read through it wondering how to enable the plugin, and had to check out this forum post for an answer.
    2. Add a clear process by which we can disable the console in release builds, through our build system. Right now, it seems as though we need to do this manually through the editor (unless I'm missing something), which isn't ideal for our automated processes.
    Keep up the good work!
     
  6. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Thanks for the feedback: I'll make the necessary changes. For now try to use this command line workaround:

    /Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -batchmode -executeMethod LunarConsole. LunarEditorMenu.Disable -projectPath "<your_project_path>"

    Let me know if it works for you.
     
  7. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    @adamt, here's a simpler approach. Run this nonsense from the terminal in your project's root (where Assets folder is):

    sed -i '' 's/#define LUNAR_CONSOLE_ENABLED/#define LUNAR_CONSOLE_DISABLED/g' Assets/LunarConsole/Scripts/LunarConsole.cs

    You can put it into a shell script file and add to your build system. Sorry for the hackiesh way - I'd add a better solution soon.

    Let me know if it works!

    EDIT:
    If you like the plugin, please, go and rate it: I would really appreciate that!
     
  8. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Version 0.0.2b is not live on the Asset Store!
     
  9. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Hey there!

    I'm happy to announce the release of version 0.0.3b!

    What's New:
    • Android platform support.
    • Enable/Disable plugin from your build system.
    Improvements:
    • Android: stop scrolling on touch-and-drag.
    • Destroy LunarConsole game object when running on unsupported platforms (everything except iOS and Android).
    • Added 'ShowConsole' and 'HideConsole' methods.
    Fixes:
    • Fixed change log messages for auto updater.
    While Asset Store version is still waiting for approval - feel free to grab release from GitHub!
     
    Last edited: Aug 19, 2016
  10. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
  11. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    @adamt, I've addressed all the issues you've requested:
    1. More clear readme instructions
    2. Build system integration support
    3. Android platform support (as a little bonus)
     
  12. adamt

    adamt

    Joined:
    Apr 1, 2014
    Posts:
    116
    Looks great! I haven't tried it on Android yet, but that's gonna be awesome to have when we open up our game to a few more people in the coming month.

    One other thing I just noticed that might be worthwhile would be the ability to click the header bar to scroll to the top of the logs. A lot of Apple (and third-party) apps do this as a quick way to jump, as opposed to continuously scrolling through a bunch of content. If you're not familiar with this functionality, open the iOS Mail app, scroll down a bit, and click on the status bar. The view should scroll to the top of its contained content automatically. I'm not sure how tough this is to do when most games explicitly disable the status bar, but if it's possible -- and if it doesn't get in the way of clicking the icons in the header bar -- it might not be a terrible thing to implement.
     
    weeeBox likes this.
  13. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    That's a great idea! I haven't thought about it myself (and it's not hard to implement at all).

    Thanks,@adamt!

    p.s. did the build system support and auto update notification work for you?
     
  14. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Hey there!

    I'm happy to announce the release of version 0.0.4b!

    What's New:
    • Added scroll-to-top gesture (tap status bar to see first log entry).
    Fixes:
    • iOS: fixed "scroll lock" button state.
    @adamt, I've added the feature you've requested. The update is still pending but you can pull the latest package from GitHub.
     
    Last edited: Aug 19, 2016
  15. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
  16. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    My fellow developers!

    I can see a couple of hundred plugin downloads but only 5 people rated it on the asset store. I would really like to hear from you and make it better. So, please, rate and let me know what you think!

    Thanks,

    -Alex
     
  17. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Hey there!

    I'm happy to announce the release of version 0.0.5b!

    Fixes:
    • iOS: fixed poor scrolling performance.
    • iOS: dismiss keyboard when pressing 'Search' button for log filtering.
    • iOS: fixed missing 'ShowConsole' and 'HideConsole' API calls.
    Improvements:
    • Better overflow management.
    The update is still pending but you can pull the latest package from GitHub.
     
    Last edited: Aug 19, 2016
  18. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    It seems like Lunar Mobile Console collides with Google Play Game Services plugin on Android. I'll fix it in the next release. For now you can use this workaround:
    1. Goto Assets/LunarConsole/Editor/Android/libs folder
    2. Delete these libs:
      • support-v4-23.0.1.jar
      • internal_impl-23.0.1.jar
    3. Disable and re-enable LunarConsole:
      • Window->Lunar Mobile Console->Disable
      • Window->Lunar Mobile Console->Enable
    Sorry if you ran in this issue
     
  19. Ziuber

    Ziuber

    Joined:
    May 31, 2015
    Posts:
    14
    Hi, I have a problem with your plugin. After I imported it in my project I get 30+ errors from your scripts saying that function parameters cannot have default values, so every function like this:

    public void SomeFunction (bool someBool = false) {}

    cannot have "= false".

    Other than that, so far I love this plugin. Very helpful.
     
  20. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Hi, @Ziuber.

    That's a bit strange. Can you please send me output compiler produce (with error codes)?

    p.s. glad you liked the plugin. If you found it helpful - please, rate it on the asset store page: https://www.assetstore.unity3d.com/en/#!/content/43800
     
  21. Ziuber

    Ziuber

    Joined:
    May 31, 2015
    Posts:
    14
    Link to the log:
    http://pastebin.com/thcBuLWi

    Error messages are logged in Polish even though I have set my language to English in monodevelop. Anyway, the error message("Użycie specyfikatorów parametrów domyślnych jest niedozwolone.") means: Using the default parameter specifier is not allowed.
     
  22. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Thanks for the info. Are these errors only shown in IDE only or in Unity too? Would you have the same error if you create a method with default parameters outside Lunar Mobile console plugin?
     
  23. Ziuber

    Ziuber

    Joined:
    May 31, 2015
    Posts:
    14
    Ok, I have figured out the solution. It turns out that it's monodevelop's problem. In order to fix it I had to go to Options->Debugger and uncheck Build Project in Monodevelop.
    Sorry for bothering you. Thanks again for the great tool.
     
  24. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    No worries!

    Please, don't forget to rate the plugin if you like it :)
     
  25. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Lunar Mobile Console v0.0.5b is now live on the Asset Store!

    Fixes:
    • iOS: fixed poor scrolling performance.
    • iOS: dismiss keyboard when pressing 'Search' button for log filtering.
    • iOS: fixed missing 'ShowConsole' and 'HideConsole' API calls.
    Improvements:
    • Better overflow management.


    https://www.assetstore.unity3d.com/en/#!/content/43800
     
  26. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    I want to thank the people who took their time and rated the plugin! I appreciate it a lot!
     
  27. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Hey there!

    I'm happy to announce the release of version 0.0.6b!

    Fixes:
    • Android: resolved conflicts with 3rd party Android plugins (GPGS, Facebook, etc).
    • iOS: fixed tab bar buttons layout.
    Improvements:
    • Dramatically reduced plugin size (from 1.6M to 250k)
    • Optimized UI resources.
    The update is still pending but you can pull the latest package from GitHub.
     
    Last edited: Aug 19, 2016
  28. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Lunar Mobile Console v0.0.6b is now live on the Asset Store!
     
  29. adamt

    adamt

    Joined:
    Apr 1, 2014
    Posts:
    116
    Thanks for the update, weeeBox.

    I'd been seeing an issue with 0.0.5b on Android, and waited until 0.0.6b was in the Asset Store to post about it -- I would've downloaded it via GitHub, but I don't know the process for building the source, maybe you can add it to the repo's readme?

    Anyhow, the console seems to load fine (I'm using Lollipop on my test device), but I can't swipe down to activate it. Also, when I get an exception, I can see the red bar at the bottom of the screen, but clicking either icon just ignores the Lunar Mobile Console layer and clicks the game scene beneath it. In effect, I can't interact with the console at all.

    To be clear, the plugin works fine in iOS, just not in Android. I've verified that the "Swipe Down" gesture is selected in the LunarConsole prefab, I've disabled and re-enabled the plugin through the Unity Editor dropdown menu, but I can't seem to get it working. Do you have any ideas?
     
  30. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Hey @adamt

    Sorry for the issue. Can you get the adb logs from the device for a chance?
     
  31. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    @adamt, I've tested the plugin on an empty project and ran it on different devices (Samsung Galaxy S3 (Kitkat), Nexus 5/10 (Lollipop) and Nexus 5x (Marshmallow)). I can confirm the bug with touches coming through the exception overlay bar but the console itself seems to be working fine.

    Can you try to disable the plugin, delete Assets/LunarConsole folder and import the plugin again? Also it would be great to know what configuration do you use (both desktop and Unity versions along with device model and Android version as well).

    Sorry again and let me know if I can assist you in any way.
     
  32. adamt

    adamt

    Joined:
    Apr 1, 2014
    Posts:
    116
    Sure, I'm running this via USB Debugging (connecting the device to my computer and doing Build & Run from Unity). Here are the relevant versions:
    • OSX El Capitan 10.11.1
    • Unity 5.2.2f1
    • Samsung Galaxy S5, model number SM-G900R4
    • Android version 5.0, kernel version 3.4.0-4385544
    I'd be happy to give you adb logs, but there's a ton of them. Does Lunar Console log under its own context (e.g., can I use adb logcat 'LunarConsole:I' '*:S' or something, or do I need to just look for everything under Unity's context)?
     
  33. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    It would be great if you can just capture all the logs your game produces (filtered by PID). I think there must be an uncaught java exception which causes the issue. LunarConsole outputs with tag LunarConsole/<ThreadName>.
     
  34. adamt

    adamt

    Joined:
    Apr 1, 2014
    Posts:
    116
    I'm not seeing anything in the logs. For reference, here are the commands I've tried:

    Code (bash):
    1. ➜  platform-tools  ./adb -d logcat 'LunarConsole:V' '*:S'
    2. --------- beginning of main
    3. --------- beginning of system
    Code (bash):
    1. ➜  platform-tools  ./adb -d logcat 'Unity:I' '*:S' | grep 'Lunar'
    Both produce no results.
     
  35. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Ok. Let me look into it.

    Can you confirm that disabling the plugin, deleting Assets/LunarConsole folder and importing the plugin again didn't work?
     
  36. adamt

    adamt

    Joined:
    Apr 1, 2014
    Posts:
    116
    Yeah, I just did that to no avail. :(
     
  37. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Can you try to launch the app again and run this nonsence from your terminal:

    adb shell ps | grep <package_name> | awk '{print $2}' | xargs -I ? sh -c "adb logcat | grep ?"

    The <package_name> should be the same as in your player settings (something like com.yourcompany.test)
     
  38. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    @adamt, I've fixed the issue when you can click "through" the warning bar. Can send you the package so you can check if it fixes the "console interaction" bug. I can't reproduce it on any of my devices and don't have Galaxy s5 at the moment.
     
  39. adamt

    adamt

    Joined:
    Apr 1, 2014
    Posts:
    116
    OK I've done this, but what am I looking for? Nothing seems to stand out -- it looks like most of the same information I've been getting from doing the logcat command.

    As for the package, I'd be happy to take it (maybe it'll also help with the swipes? who knows).
     
  40. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    I thought there's an exception (or any other error message) which prevents plugin from working correctly. Trying to find Galaxy S5.

    You can download 0.0.7b-preview here.

    Plugin building is a bit tricky now: it's Ruby based and has tons of dependencies (at this point OS X only).
     
  41. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    @adamt, I fixed touch issues with the exception warning bar. Here's the latest release. The asset store update still pending.
     
  42. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    I'm working on adding stack trace info into the logger. Which one of these do you think would work best? If they all suck: how would you prefer to see the stack trace info?

     
  43. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    @adamt, did you have a change to take a look at the changes in 0.0.7b?
     
  44. adamt

    adamt

    Joined:
    Apr 1, 2014
    Posts:
    116
    I did, yes. Unfortunately, it didn't fix the issue where the LMC screen doesn't show up when the swipe gesture is done. I've also not seen an exception in my game since I installed 0.0.7b, so I can't confirm whether or not the exception bar is working properly, either. I'm going to quickly make a new project with just LMC in it to see if it's related to my project, or the phone itself. I'll let you know the outcome.

    Also, I like the first of the three screenshots you posted (where the text lines up).
     
  45. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Yes, testing it on an empty project would be super helpful. I ended up with this solution for the stack trace:

     
  46. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    @adamt, did you have a chance to try out an empty project?
     
  47. adamt

    adamt

    Joined:
    Apr 1, 2014
    Posts:
    116
    OK so I tried it with an empty project, and it worked just fine. So now the process of removing things begins... not entirely sure where to start, but I'll let you know if I find the cause.
     
  48. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    This is why I don't like how Unity plugins are organized: so easy to mess up stuff
     
  49. adamt

    adamt

    Joined:
    Apr 1, 2014
    Posts:
    116
    Yeah it can be annoying at times. So I think I've narrowed it down to my custom AndroidManifest.xml file (in Assets/Plugins/Android). I need it for both HockeyApp and push notifications, through Parse. I've attached the file so you can see what it looks like (I had to change its extension to .txt so the forums would allow me to upload the file), although you'll notice that even with both HockeyApp and Parse commented out, LMC doesn't work correctly.
     

    Attached Files:

  50. weeeBox

    weeeBox

    Joined:
    Jun 2, 2014
    Posts:
    271
    Thanks, @adamt!

    I'll take a look at it asap.
     
unityunity