Test an Agent in the Editor¶
Both the Unity and Unreal plugins include an editor-only Chat Window that lets you send messages to an agent and watch replies stream back — without entering Play mode or launching a game.
Prerequisites
- The Tryll plugin installed in your project. If not, see First Inference in Unity or First Inference in Unreal.
- A workflow asset (Unreal) or a
TryllAgentComponentalready placed in an open scene (Unity). - Editor Server Exe Path set in Project Settings (Step 1). If you prefer to run the server manually, skip Step 1 and start the server before clicking Start.
Step 1 — set the server path¶
- Open Edit → Project Settings → Tryll Client.
-
Set Editor Server Exe Path to your built
tryll_server.exe, e.g.:
Relative paths resolve against the Unity project root. The Chat Window reads this path each time you click Start.
- Open Edit → Project Settings → Plugins → Tryll Client.
-
Set Editor Server Exe Path to your built
tryll_server.exe, e.g.:
Relative paths resolve against the Unreal project directory. Settings are loaded automatically — you do not need to reference them inside the panel.
Step 2 — open the Chat Window¶
Window → Tryll → Chat
The window docks like any Unity editor panel. Check the two fields in the configuration area at the top:
| Field | What to assign |
|---|---|
| Tryll Settings | Your TryllRuntimeSettings asset. Auto-found if one exists anywhere in the project or in Resources/. |
| Agent Component | A TryllAgentComponent from an open scene. |
Window → Tryll → Tryll Chat
The panel opens as a nomadic dockable tab. Assign one field in the configuration area:
| Field | What to assign |
|---|---|
| Workflow Asset | A UTryllWorkflowAsset from the Content Browser. |
The settings path is shown as a reminder label; no manual assignment is needed.
Step 3 — start the session¶
Click Start. The status label steps through:
| Status | What is happening |
|---|---|
| Launching server… | Spawning tryll_server.exe |
| Connecting… | Opening TCP connection to 127.0.0.1:9100 |
| Configuring session… | Sending ConfigureSession to the server |
| Creating agent… | Sending CreateAgent with your workflow graph |
| Ready | Agent is live — input is enabled |
If the status turns red, see Common problems below.
Step 4 — chat¶
Type a message and press Enter or click Send. Replies stream into the
chat area token by token. The assistant name shown in each bubble comes from
the TryllAgentComponent's GameObject name (Unity) or the workflow asset name
(Unreal).
Enable Log Turn Diagnostics before clicking Start to print per-turn
debug_info JSON to the Unity Console or Unreal Output Log after each reply.
Step 5 — stop the session¶
Click Stop. The window destroys the agent, disconnects the client, and terminates the server process it launched.
Server stops when the window closes
Closing the Chat Window while a session is running calls Stop automatically. Any in-flight request is abandoned.
Common problems¶
- "Assign a TryllRuntimeSettings asset" / "No TryllRuntimeSettings available"
- Unity only. The auto-search found nothing. Drag your
TryllRuntimeSettingsasset into the Tryll Settings slot manually. - "Assign a TryllAgentComponent from the scene"
- Unity only. The Agent Component slot is empty. Open the scene that contains your agent and drag the component into the slot.
- "Assign a workflow asset"
- Unreal only. The Workflow Asset picker is empty. Select a
UTryllWorkflowAssetfrom the Content Browser. - "Failed to launch server" / "Server launch failed: …"
EditorServerExePathis empty, points to a non-existent file, or the binary cannot be executed. Verify the path in Project Settings.- Stuck at "Connecting…"
- The server launched but did not bind port 9100 in time, or another process
holds that port. Check the Unity Console or the Unreal Output Log
(
[Tryll Server] …lines) for server-side errors. - "Model not found" during CreateAgent
- The model referenced in your workflow's
Generatenode is not in the server'smodels.json. Enable Allow Auto Model Downloading in Project Settings, or add the model manually — see Use Your Own Local Model.