Skip to content

LoggerProLite — Ship a Support Channel With Your Asset

LoggerProLite is not a cut-down LoggerPro. It is a small console and bug-report tool that you ship inside your own Unity asset, so that:

  • your users get a categorised log window instead of a noisy Unity console
  • you get a structured bug report back, with the environment details you would otherwise have to ask for over three emails
  • you do not have to rip out your existing logging to get either of those

It is Editor-only, has zero dependencies, and works whether or not your user owns LoggerPro.


Setup (once, ~2 minutes)

Tools ▸ LoggerPro ▸ Lite Integration ▸ Prepare Lite For My Asset

Fill in your vendor name, asset name, version and a support URL. The tool generates a private copy of Lite inside your asset:

Assets/YourAsset/AcmeLite/
  Editor/
    Acme.Lite.asmdef          ← your own assembly
    DevLog.cs                 ← namespace Acme.LoggerProLite
    ExampleToolLog.cs         ← rename this into your own wrapper
    ...
  Resources/
    AcmeLiteConfig.asset      ← your identity + categories

Then ship that folder with your asset. That is the whole integration.

The files in this folder are templates, not compiled code

They ship as .cs.txt so Unity does not compile them in place. Left as .cs they would be swept into LoggerPro's own assembly definition, which registers a stray "Developer Log Console" menu item, adds a spurious Create-asset entry, and makes Lite's internal types visible only inside LoggerPro's assembly — so any of your scripts calling DevLog would fail with CS0122: 'DevLog' is inaccessible due to its protection level.

The branding tool strips the .txt when it copies them into your asset. Do not rename them by hand.

Why a generated copy rather than a shared folder

If two assets both shipped the same LoggerProLite assembly, the user's project would not compile: duplicate assembly name, duplicate type definitions, and a Resources config that shadows whichever one imported second. Branding gives every vendor a unique namespace, assembly name and resource name — and every type in Lite is internal, so two copies are invisible to each other by construction.

Do not hand-copy the folder into a project without running the tool, and do not place it somewhere it would land in Assembly-CSharp-Editor. The generated .asmdef is what keeps the isolation guarantee.


Logging

DevLog.Info("Import", "Parsing 42 meshes");
DevLog.Warning("Import", "Mesh has no UVs", mesh);
DevLog.Error("Export", "Write failed: disk full");

Full surface:

Call Use for
DevLog.Info normal progress
DevLog.Warning recoverable problems
DevLog.Error failures
DevLog.Success "the long operation finished"
DevLog.Debug / DevLog.Trace detail users can filter out
DevLog.Assert(condition, …) preconditions
DevLog.Log(category, message, LogType, context) when you already have a LogType

Every method takes an optional trailing UnityEngine.Object context so the log can point at the asset it concerns.

Wrap it. See ExampleToolLog.cs in the generated folder — one class with your category names in one place, so call sites stay clean and you can reorganise categories later.


What your users see

Tools ▸ Developer Log Console — titled with your asset name, showing only your logs.

  • severity and category filters, search, deduplication with (xN)
  • Save Report… / Send Report…

The report is a .loggerproarchive file containing the logs plus:

Unity version · platform · build target · scripting backend · API compatibility level · render pipeline · colour space · scripting define symbols · installed packages · your asset's version

Before anything is written the user sees a preview of exactly what they are sending, with "Remove file paths and user name" on by default — absolute paths leak account names and often unannounced project titles, and users who notice that simply do not send the file.

If you set a support URL, "Save & Open Support" saves the report and opens your issue tracker or mail client so they can attach it. Lite never transmits anything by itself.


Reading a report

Open it in LoggerPro: Tools ▸ LoggerPro ▸ Import Report, then tick Show Imported Logs.

Categories, severities, timestamps and duplicate counts all survive the round trip, and the report header shows which asset and version it was filed against, with the full environment under a foldout.


When your user also owns LoggerPro

Nothing to configure. Lite looks for LoggerPro once per domain reload and, if it is present, routes your logs into the full console — diagnostics, exporters and all. Your code does not change and you do not need a scripting define.

Earlier versions documented an #if LOGGERPRO switch for this. It never worked: nothing ever defined that symbol, so logs always took the fallback branch even when LoggerPro was installed. The check is now a runtime lookup, which also means it starts working the moment a developer installs LoggerPro mid-session (there is a "Recheck LoggerPro" button in the console).


Two DevLogs — which one?

Use
DevLog from your generated Lite folder anything you ship. Compiles into your assembly, no dependencies
RevGaming.LoggerPro.Shared.DevLog convenience inside your own project only

The second one lives in LoggerPro's assembly. Calling it from a shipped asset breaks in every customer project that does not own LoggerPro. Older examples in this package got this wrong — including a documented wrapper with a four-argument signature that Lite never had.


Categories

Categories are created automatically on first use. To have them appear before anything has been logged — so the filter bar is not empty when a user first opens the console — list them in predefinedCategories on your config asset.

Prefix them with your asset name (Acme.Import, Acme.Export) so they stay legible in a project running several tools.


Limits

Lite is deliberately small. It has no diagnostics suite, no asmdef graph, no project audits, no themes, and it caps at 500 entries. It is the field instrument; LoggerPro is the workshop. If you want the rest, that is what LoggerPro is for — and your users will see it mentioned in the console footer.


Rev + Rab Lite for your users. Pro for you. One report format between them.