CyberEntity Logging


Limitations CyberEntity Logging complements Unity's built-in Console and does not replace it. ... Stack trace configuration changes Unity Player stack trace settings for the selected build ...


by Cyber Entity


Price History +

CyberEntity Logging is a centralized logging utility for Unity C# projects, including DOTS/ECS workflows and Burst-compatible deferred log overloads.


Features

  • Unified logging helpers for Verbose, Debug, Info, Warning, Error, Assert and Exception messages.
  • Deferred logging for Burst-compiled and parallel ECS jobs.
  • Per-world and per-system/class filtering with individual minimum levels.
  • Environment presets (Editor, Development, QA, Staging, Production) for one-click level and stack-trace configuration.
  • Configurable stack traces (None, ScriptOnly, Full) mapped to Unity player settings.
  • Compile-time stripping of disabled and below-minimum logs via define symbols.
  • Editor management window (Window > CyberEntity > Logging).
  • Sample scripts, a demo scene, and an example Settings asset.


Architecture

  • Implemented as C# scripts packaged for Unity; render-pipeline agnostic.
  • Runtime settings are loaded from a Settings asset in a Resources/Logging folder.
  • Does not modify project settings automatically beyond managed stack-trace options.


Dependencies

  • Requires Unity 6000.3.20f1 or newer.
  • Uses Unity Registry packages: burst, collections, entities and mathematics for ECS/DOTS logging; ext.nunit and test-framework for tests.
  • No external third-party runtime dependencies.


Limitations

  • CyberEntity Logging complements Unity's built-in Console and does not replace it.
  • The runtime settings asset must be available at Assets/Resources/Logging/SettingsProperties.asset; automatic asset creation is Editor-only.
  • Deferred logging requires DeferredLoggingSystem to be active in an ECS world.
  • Deferred logging is queued and flushed by an ECS system, so entries may appear with a slight delay and can be lost if the application crashes, exits, or the ECS world is disposed before flushing.
  • When deferred logging is disabled, ECS/Burst overloads write directly to Unity logging and do not use CyberEntity world/system filtering.
  • Exception and Assert are managed-only and cannot be called from Burst-compiled code or jobs; use Error with the SystemState or FixedString overloads instead.
  • Exception and Assert bypass world/system filtering and the global minimum level; they are controlled only by their define symbols, and Assert additionally depends on Unity's UNITY_ASSERTIONS symbol.
  • Filters are name-based; renaming worlds, classes, systems, source files, or manually supplied class names can create new filter entries.
  • Stack trace configuration changes Unity Player stack trace settings for the selected build target and can affect logs outside this package.
  • Compile-time stripping define symbols are applied per selected build target group; verify settings after switching target platforms.
  • CyberEntity Logging does not provide cloud logging, remote telemetry, analytics, crash reporting, file logging, external log storage, persistent log history, or a searchable runtime log database.
  • Runtime log visibility depends on Unity/player logging settings and may differ between Editor and builds.
  • Console messages use Unity rich-text formatting; appearance may differ in player logs, external log viewers, or tools that do not render Unity rich text.
  • Tested primarily in the Unity Editor on Windows.


Supported platforms

  • Compatible with platforms supported by Unity C# scripting.


For further details reffer to the documentation here.