CyberEntity Logging
Description
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.
| Property | Value |
|---|---|
| Package name | com.cyberentt.logging |
| Package format | UPM |
| Latest version | 1.0.0 |
| File size | 3.4MB |
| Latest release | Aug 25, 2026 |
| Property | Value |
|---|---|
| Unity version | 6000.3, 6000.4, 6000.5 |
Render pipelines | |
| Build target |
