Getting Started
1. Import Logix
Add the Logix package to your Unity project via the Package Manager or Asset Store. Once imported, it works automatically - no manual setup required.
2. Open the Logix Editor Window
Tools -> Logix -> Show Window
The toolbar lets you:
| Control | What it does |
|---|---|
| D / I / W / A / E | Toggle Debug, Info, Warning, Error, Assert levels on/off |
| T / L / S | Toggle time, line number, stack trace columns |
| Search | Filter log entries by text |
| Auto | Auto-scroll to newest entries |
| Clear | Clear all entries |
Double-click any entry to jump to the source file at that line. Right-click to copy.
3. Your first log call
using Logix;
public class Player : MonoBehaviour
{
private void Start()
{
Log.Debug("Entering combat state");
Log.Info("Game started!");
Log.Warn("Health is low");
Log.Error("Connection lost");
Log.Assert(health > 0, "Health dropped below zero");
}
}
The UnityLogSink is added automatically by LogixInitializer, so messages appear in the Unity Console and Logix Editor Window immediately when you enter Play Mode.
Assert static helpers
Assert.NotNull(() => player, "Player component is missing");
Assert.GreaterThan(() => player.Health, 0);
Assert.InRange(() => damage, 0, 100);
4. View logs in a build (Runtime Console)
The Runtime Console is an in-game GUI overlay for mobile, console, or remote builds.
Add it to your scene: - Drag the Runtime Console prefab into any scene, or - Add the Logix / Runtime Console component to any GameObject
| Key | Action |
|---|---|
| F12 | Toggle visibility |
| Level buttons | Show/hide Debug, Info, Warning, Error, Assert |
| Search | Filter by text |
| Entry click | View stack trace |
| S | Toggle stack trace panel |
5. Runtime Inspector
The Runtime Inspector is an in-game hierarchy browser and component inspector - useful when you can't attach a debugger.
Add the Logix / Runtime Inspector component (or its prefab) to your scene.
| Key | Action |
|---|---|
| F11 | Toggle visibility |
| Scene dropdown | Switch between loaded scenes |
| Search | Filter GameObjects by name |
| Component tab | View live public fields and properties |
6. Add a remote sink (example: Discord)
- Create a Discord webhook URL in your Discord server settings
- Right-click in the Project window -> Create -> Logix -> Remote -> Endpoint Settings
- Paste the webhook URL into the
Urlfield - Open the Global Settings asset (
Create -> Logix -> Global Settings) and add it to theDiscordlist - Drag the Settings asset onto the Editor Window toolbar to apply it
Every log message now flows to your Discord channel.
7. Add filters
Create a Filter Settings asset to control which messages get through:
- Right-click in the Project window -> Create -> Logix -> Filter
- Configure the levels you want to allow, and add namespace, class, directory, or regex filters
- Assign it to a Global Settings asset (see step 8) to apply it globally, or drag it onto the
FilterSettingsfield of anEndpointSettingsSOfor per-sink filtering
// Or apply filters via code
Log.Container.AddFilter(new LevelFilter(LogLevel.Warning));
Log.Container.AddFilter(new RegexFilter("error|assert", RegexOptions.IgnoreCase));
8. Create global settings
A Global Settings asset ties everything together — global filters, remote sink configs, and runtime options.
- Right-click in the Project window -> Create -> Logix -> Global Settings
- Set the fields you need:
- Runtime — file logging toggle, log path, max file size, timeout
- Console — max entries kept in memory (default 1000)
- Filters — drag a
FilterSettingsSOin for global filtering - Discord / Slack / Loki — drag in
EndpointSettingsSOorLokiSinkSettingsSOassets for each remote sink - Drag the Settings asset onto the Logix Editor Window toolbar
Next steps
- Logging API -> all methods and levels
- Configuration -> fluent API and ScriptableObjects
- Built-in sinks -> local and remote sinks
- Filters -> control which messages get through