LoggerPro — LoggerProTools (Lite Integration)¶
This folder holds the tooling an asset author uses to ship LoggerProLite inside their own Unity asset.
It contains one file:
LiteBrandingTool.cs
This README previously documented a
LoggerProLiteSyncTool.cs, a "Tools ▸ LoggerPro ▸ Lite Integration ▸ Sync Categories to Lite" menu item, aLoggerProLiteCategoryConfigasset and aLoggerProLitePrefsUtility. None of those have ever existed in this package. The workflow they described — keeping a shared Lite config in step with your own categories — was the pre-2.0 model, where every vendor shipped the sameLoggerProLiteassembly. That model is what the branding tool exists to replace.
LiteBrandingTool.cs¶
Generates a private, branded copy of LoggerProLite for one asset.¶
Tools ▸ LoggerPro ▸ Lite Integration ▸ Prepare Lite For My Asset
Lite is redistributed inside other people's products, so the hard problem is not logging — it is what happens when a user installs two assets that both ship it. A shared assembly means a duplicate assembly name, duplicate types, and a Resources config that shadows whichever copy imported second. The project does not compile.
The tool removes that failure mode by giving each vendor a copy that cannot collide with anyone else's.
What it generates¶
From a vendor name and an asset name it derives an identifier — Acme — and writes:
<destination>/AcmeLite/
LoggerProLite-LICENSE.md ← attribution; keep it, see LICENSE.md condition 4
Editor/
Acme.Lite.asmdef ← Editor-only assembly, unique name
DevLog.cs ← and the rest of the templates, un-.txt'd
...
Resources/
AcmeLiteConfig.asset ← your identity + categories
and rewrites, in every copied template:
| What | From | To |
|---|---|---|
| Namespace | RevGaming.LoggerProLite | Acme.LoggerProLite |
| Resource name | LoggerProLiteConfig | AcmeLiteConfig |
| Console menu path | Tools/Developer Log Console | Tools/<Asset Name>/Log Console |
| EditorPrefs keys | LoggerProLite.* | AcmeLite.* |
| Create-asset menu | LoggerProLite/Console Config | <Asset Name>/Console Config |
The last two matter more than they look. EditorPrefs are per-user per-machine and shared across every Unity project on it, so two vendors leaving those keys identical means one console's filters silently become the other's — in every project on that machine. And the Create-asset entry produces a type internal to one vendor's assembly, so an identical entry from another vendor creates a config that nothing can load back.
Categories¶
The generated config's category list starts empty and fills itself: Lite registers a category the first time your tool logs to it, exactly as LoggerPro does. There is nothing to sync.
The two-stage run¶
Generate() cannot create the config asset on a first run, because the assembly it belongs to has not compiled yet. The tool writes the sources, asks Unity to recompile, and finishes the job from a [DidReloadScripts] continuation whose state lives in SessionState.
If that continuation does not run — an interrupted reload, a compile error elsewhere in the project — the console says so and the config can be created by hand from the <Asset Name> ▸ Console Config entry the generated code registers.
Before you ship¶
- Keep
LoggerProLite-LICENSE.mdin the folder. It is how you satisfy condition 4 ofLICENSE.md, and it tells whoever finds the folder later where support comes from. - Do not hand-copy
LoggerProLite/instead of running this. Its files are.cs.txttemplates: left as.csthey compile into LoggerPro's own assembly, where Lite'sinternaltypes produce CS0122 in every script of yours that callsDevLog. - Read
LoggerProLite/README.mdfor what your users get and what a report contains.