Telemetry¶
Your shipped game sends no telemetry
Tryll collects telemetry only from the editor, while you make your game. The server that ships with your game is built without telemetry code. It cannot send anything, and no setting turns it on. See In your shipped game.
The editor server sends a content-free usage report so we can see which models
run, how fast they are on real hardware, and where agents fail. That report is
the basic level, and it is the default. Two higher levels, turns
and full, stay off until you turn them on for a debugging session.
In your shipped game¶
A packaged game runs the player server (Client Prod). That server is built without telemetry, so your players send nothing to Tryll:
- There is no telemetry code in it, not a setting that is off.
- A player config with
telemetry.enabledset totruefails startup instead of sending anything. - The player build's server log says so. Look for this line:
Everything below is about the editor.
In the editor, choose the level under Project Settings → Tryll Client →
Telemetry Level (Unreal: Project Settings → Plugins → Tryll Client).
The choices are basic, turns, and full. basic is the default.
Telemetry and the licence¶
Telemetry is part of the Tryll Runtime Licence. When you accept the licence, you agree to telemetry. There is no separate choice. In the editor, telemetry is always on.
You accept the licence in the Tryll Welcome window (Unity: Window →
Tryll → Welcome; Unreal: Window → Tryll → Tryll Welcome). The editor
starts the server only after you accept. Telemetry opens this page.
Read the licence shows the full text from the plugin's LICENSE.md. The
same text is on the Licence page.
If you click Withdraw, the editor stops its server and does not start it again until you accept the licence again.
Detail levels¶
| Level | When it is used | What we receive |
|---|---|---|
basic |
Default. The editor always sends at least this. | An anonymous install id, OS, CPU, RAM, and GPU. Session start and end, including the level that is in effect. When an agent is created, a structural summary of its graph: node types, how they connect, and model ids from the shipped catalog (a model you added yourself is recorded as custom plus its engine). When the agent is destroyed, lifetime counts and approximate duration percentiles. Parameter and variable changes with the names removed. Download success or failure. Below full, every download's model id is recorded as custom, shipped catalog models included. |
turns |
Off until you set it. Use it when a bug is about timing, which node types ran, or how a turn ended. | Everything in basic, plus one event per turn: status, duration, time to first token, token counts, and pause time. Each node in the turn contributes its index, schema type, and duration. Tool calls and errors contribute counts only. |
full |
Off until you set it. Use it when we ask for a reproduction that needs the actual text. | Everything in turns, plus prompts, model output, slot text, tool names and arguments, node names, variable names, and error text. Download events keep the model id. |
basic and turns contain no conversation text, no authored names, and no
free-text errors. Conversation text is included only at full.
off is not a Project Settings choice. It is only --telemetry-level off
on the command line, or telemetry.level / telemetry.enabled in a config
for a server you start yourself. An editor server (Client Dev) raises off
to basic and logs a warning. A value other than off, basic, turns,
or full is a startup error.
The old keys activity_enabled and include_user_content are ignored. Set
level.
Send more detail while debugging¶
Set Telemetry Level in Project Settings:
- Unity: Edit → Project Settings → Tryll Client
- Unreal: Edit → Project Settings → Plugins → Tryll Client
Choose Turns for timings and counts, or Full when the report needs prompts, outputs, or error text. Set it back to Basic when the debugging session is over.
The editor passes the choice as --telemetry-level the next time it launches
the server, and that flag overrides telemetry.level in server-config.json.
Exit Play mode and let the managed server exit (it shuts itself down about
60 seconds after the last session), or quit the editor, then start again.
The log line [Telemetry] level=turns (or basic, or full) is the level
that took effect. The same value is attached to the session-started event.
A server you start yourself can set the same flag:
Where the editor report goes¶
Events go to PostHog in the EU (eu.i.posthog.com).
The address is built into the editor server. The sinks entry in the config
only tunes how events are batched. Removing it leaves basic telemetry on.
We use the report to improve the engine: which models are in use, how fast inference is on real hardware, and where errors occur. We do not use it for advertising or share it with third parties.
The install id is a random identifier stored on the machine. It is not derived
from a hardware address. Events from one project are grouped by a project id
the editor generates once and saves with the project, so a clone or a teammate
checkout stays on the same id. Game Name in Project Settings is the human
label: it is sent as the session name and as --project-name, and it is used
for log folders together with the project directory. The telemetry group is
the project id.
Client libraries do not collect telemetry themselves. The server process does. The one exception is the server install event below.
Server install event¶
The plugin sends one event, tryll.server.install, to the same PostHog
project:
- Unity: a released package downloads its server once, from the Welcome window (Window → Tryll → Welcome). The event is sent after each install attempt, from a download or from a zip.
- Unreal: the server comes inside the plugin. The event is sent once per plugin version, after you accept the licence.
It carries:
- the result (
okor an error code), the server version and variant (liteorfull) - how the server was installed (
downloadorzip) and the release channel - the download size and duration (
0in Unreal, where nothing is downloaded) - the engine (
unityorunreal) and the editor version - a random install id, kept for your user account on the computer and never derived from hardware
It carries no paths, names, prompts or project content. Like the editor report above, it is part of the telemetry you agree to with the licence.
Who sends what¶
| Where you run | What is sent |
|---|---|
| Editor (Unity or Unreal, Client Dev) | The Project Settings level, default basic. The floor is basic. |
| Packaged player (Client Prod) | Nothing. The log line is [Telemetry] telemetry=compiled-out. A player config with telemetry.enabled set to true fails startup. |
Tryll Dev (a server you start yourself, or TRYLL_SERVER_MODE=tryll-dev) |
Nothing when telemetry.enabled is false, telemetry.level is off, or you pass --telemetry-level off. The shipped server-config.json sets enabled to true and level to basic. With telemetry on, basic, turns, and full apply. |
TRYLL_SERVER_MODE=tryll-dev is for Tryll’s own CI. It launches Tryll Dev with
--telemetry-level off and ignores the Project Settings level.
Turn telemetry off for one Tryll Dev run¶
Or set "enabled": false or "level": "off" in the config. Passing off to
an editor server does not lower it below basic. The qa-and-eval pipeline
passes --telemetry-level off when it spawns a managed server. Pass
--enable-telemetry on the QA CLI to let that run send events.
Related¶
- Server Configuration —
telemetry.leveland the batch fields - How to run the Tryll server
- Auto-launch the server