Logging
All logs are sent to the debug console, which is accessible in the Client via developer options.
Telemetry
Logs are also uploaded to Loki via OpenTelemetry. All Info, Warning, and Error logs are uploaded. Debug is not uploaded by default but can be enabled via developer options.
The namespace (service.namespace) is set to default for builds and preview when running in Editor.
Log Attributes
| Attribute | Value | Example |
|---|---|---|
|
Platform of the Unity build (will be |
|
|
Human-readable severity label derived by Loki from |
|
|
|
|
|
Unix epoch timestamp in nanoseconds, set at record creation |
|
|
|
|
|
OS family: |
|
|
Ref of the agent of the running interaction. Present only during one. |
|
|
Ref of the open project. |
|
|
UUID of the current conversation turn. Present only when a turn is active. |
|
|
Log Category, maps to the OpenTelemetry instrumentation scope |
|
|
Stable per-device identifier, prefixed with |
|
|
Always |
|
|
|
|
|
|
|
|
UUID of the current session. Present only when a session is active. |
|
|
OpenTelemetry severity number: 5 = Debug, 9 = Info, 13 = Warning, 17 = Error |
|
|
ID of the engine’s user for the open project, which the engine keys to the device. Present once the open project’s user has been read back. |
|
Categories
Categories are used to group logs from specific systems and assist in following their state. They map to scopes in OpenTelemetry.
Unity is the one nothing writes to deliberately: it carries what Unity itself reported - engine failures, plugin failures and uncaught exceptions, each with its stack trace and each uploaded once per run. See Logging for how those reach the upload.
The current list of categories is:
-
App
-
AudioStreaming
-
Authentication
-
Avanim
-
Bundles
-
Camera
-
Conversation
-
Emotions
-
Engine
-
General
-
Graphics
-
Multimodal
-
Native
-
UI
-
Unity
-
Visual