Unity Better Debug script
This example presents a custom Unity debugging utility class, `D`, that wraps standard `UnityEngine.Debug` methods—`log`, `warn`, `error`, and `assert`—with conditional compilation attributes. It shows how to control which debug levels compile into a build using preprocessor symbols like `DEBUG_LEVEL_LOG`, `DEBUG_LEVEL_WARN`, and `DEBUG_LEVEL_ERROR`. The code uses `[System.Diagnostics.Conditional]` attributes to strip calls at compile time for the chosen platform, and `Debug.Log`, `Debug.LogWarning`, `Debug.LogError`, and `Debug.Break` for runtime output and pause behavior. The methods accept format strings and parameter arrays, mirroring `string.Format` patterns.