Skip to content

LoggerProLite — Editor (the templates)

These are templates, not compiled code. They ship as .cs.txt so Unity does not compile them where they sit, and the branding tool strips the .txt when it copies them into your asset.

Do not rename them by hand. As .cs they are 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 script of yours calling DevLog fails with CS0122: 'DevLog' is inaccessible due to its protection level.

Generate your copy with Tools ▸ LoggerPro ▸ Lite Integration ▸ Prepare Lite For My Asset. See LoggerProLite/README.md one level up for the whole workflow and what your users get.


What each file becomes

Template In your asset
DevLog.cs.txt The API your tool calls — DevLog.Info("Category", "…") and friends
LoggerProLiteLog.cs.txt One log entry, and the severity model behind it
LoggerProLiteConsole.cs.txt The store: entries, categories, caps
LoggerProLiteWindow.cs.txt The console window your users open
LoggerProLiteConfig.cs.txt Your identity — name, version, support URL — and the category list
LoggerProLiteReport.cs.txt The Send Report payload, in the same JSON shape LoggerPro imports
LoggerProLiteBridge.cs.txt Finds LoggerPro at runtime by reflection and forwards to it
ExampleToolLog.cs.txt A worked example of wrapping DevLog in your own class

What branding rewrites

The tool does not just copy. In each template it rewrites:

  • the namespace, RevGaming.LoggerProLite → <You>.LoggerProLite
  • the ResourceName constant, so your config asset has its own name
  • the MenuPath constant, so your console has its own menu entry
  • the EditorPrefs key prefixes — these are per-user per-machine and shared across every Unity project on it, so leaving them identical meant one vendor's console filters silently became another's, in every project on that machine
  • the Create-asset menu path — identical entries from two vendors each create a type only one assembly can load back

It also writes an .asmdef and a LoggerProLite-LICENSE.md. Keep that licence file: it is how you satisfy condition 4 of LoggerPro's redistribution terms, and it tells whoever finds the folder later where support comes from.


The bridge

LoggerProLiteBridge locates RevGaming.LoggerPro.LoggerProBridge by full name and binds a delegate to its Log method. No assembly reference, no scripting define, no setup step for you or your users.

Lite always stores its own copy and forwards in addition when LoggerPro is present. It used to forward instead of storing, so a customer who happened to own LoggerPro left you with an empty console, a disabled Send Report button, and an empty-state message telling them to reproduce the problem and come back — which they had just done.