Token Reduction Benchmark - Unity 6000.5.0f1

August 3, 2026 · View on GitHub

One-line summary: on Unity 6000.5.0f1, the v0.0.43 low-token discovery behavior holds: list --compact is 93 estimated tokens and find_gameobjects --ids is 55 estimated tokens in the smoke scene.

  • Measured on: 2026-06-22
  • CLI: hera-agent-unity v0.0.29
  • Connector under test: AgentConnector/package.json 0.0.43 as a local UPM package
  • Unity: 6000.5.0f1
  • Project: %UNITY_PROJECT% (Test6000.5.0f1 fixture)
  • Scene: Assets/HeraSmoke/Scenes/Smoke_6000_5.unity
  • Token estimate: UTF-8 output bytes divided by 4, rounded up

This benchmark measures the CLI output payload that comes back into an agent context. It does not include the outer tool-call framing overhead of a specific AI client.


0. TL;DR

Command / scenarioBytesEst. tokensResult
list --names37193 Tflat names array
list --compact37193 Tsame as --names
default list74261857 Tdescriptions included; not for bootstrap
find_gameobjects --name Pickup --limit 20 --ids21755 Tlowest-token object handoff
find_gameobjects --name Pickup --limit 201145287 Tdefault {instance_id,name}
find_gameobjects --name Pickup --limit 20 --fields all3185797 Tlegacy verbose shape

The measured find_gameobjects values are slightly larger than earlier versions because this smoke scene used longer object names such as PickupCrate_Instance_00.


1. Bootstrap and Package State

Initial bootstrap:

Connected: Test6000.5.0f1 · port=8090 · unity=6000.5.0f1 · state=ready · tools=26

The project initially did not resolve com.notnull92.hera-agent-unity:

{"version":null,"source":null,"resolved":null}

For a same-code benchmark, it was switched to the local connector under test:

hera-agent-unity manage_packages add "file:%HERA_REPO%/AgentConnector"

After switching:

{"version":"0.0.43","source":"Local","resolved":"C:\\Users\\PC\\Desktop\\Cowork\\hera-agent-unity\\AgentConnector"}

Compile and connector state:

  • editor refresh --compile --wait: success
  • console --type error --lines 50: matched: 0
  • Unity state: ready

2. Smoke Scene

The smoke scene was created in the disposable test project under:

Assets/HeraSmoke/

The scene mirrors the previous benchmark workflow:

  • HeraSmoke_Level_6000_5 hierarchy;
  • Geometry, Gameplay, Pickups, and Enemies groups;
  • floor, 12 wall blocks, trigger volume, six enemy capsules with kinematic Rigidbody;
  • 32 pickup spheres with trigger colliders;
  • camera and directional light;
  • Assets/HeraSmoke/Prefabs/PickupCrate.prefab;
  • 15 prefab instances during scene setup, plus 15 more during the prefab smoke step;
  • overlay HUD canvas with three interactive buttons.

Scene creation output:

StepExitBytesEst. tokens
create 6000.5 smoke scene06517

Hierarchy and renderer verification:

{"scene":"Assets/HeraSmoke/Scenes/Smoke_6000_5.unity","roots":5}
{"renderers":67,"colliders":67}

3. Token Measurements

Baseline

CaseBytesEst. tokens
status11730
scene info23659
list --names37193
list --compact37193
list74261857
list --tool exec1783446
package probe11629
CaseBytesEst. tokens
find_gameobjects --name Pickup --limit 535589
find_gameobjects --name Pickup --limit 201145287
find_gameobjects --name Pickup --limit 502462616
find_gameobjects --name Pickup --limit 20 --ids21755
find_gameobjects --name Pickup --limit 20 --names545137
find_gameobjects --name Pickup --limit 20 --fields instance_id,name,path2445612
find_gameobjects --name Pickup --limit 20 --fields all3185797

Interpretation:

  • --ids remains the best follow-up path when the next command accepts instance_id.
  • Default find_gameobjects stays much cheaper than the verbose --fields all shape.
  • Path/scene/active costs are still explicit and opt-in.

Components

CaseBytesEst. tokens
manage_components add Rigidbody on floor13033
manage_components set Rigidbody m_Mass13334
manage_components get Rigidbody m_Mass13334
manage_components list enemy components533134

Prefab

CaseBytesEst. tokens
instantiate 15 prefab instances via exec31
find_gameobjects --name PickupCrate_BenchInstance --limit 20993249

UI and Capture

CaseBytesEst. tokens
find_gameobjects --name HUD_ --fields instance_id,name,path595149
ui_doc export --path /HeraSmoke_Level_6000_5/HUD_Canvas1313329
ui_doc capture --out %TEMP%/hera-smoke-6000-5-hud.png12832
screenshot --view scene --output_path %TEMP%/hera-smoke-6000-5-scene.png10326

Visual observation:

  • ui_doc capture rendered the overlay HUD and visible scene geometry.
  • screenshot --view scene rendered the game objects correctly in this disposable Unity 6000.5 project.
  • The background-only scene capture issue observed in the Unity 6000.3 Inventoria run did not reproduce here.

PlayMode

CaseBytesEst. tokens
console --type error before PlayMode10527
editor play --wait318
runtime probe6015
console --type error --lines 510527
console --lines 2038095
console --type error --stacktrace full10527
editor stop185
final console --type error --lines 5010527

Runtime probe:

{"playing":true,"frame":313,"time":1.02270174,"pickups":32}

4. Verification

Observed:

  • Unity 6000.5.0f1 returned to ready.
  • com.notnull92.hera-agent-unity resolved as local connector 0.0.43.
  • list --names found 26 tools.
  • Final console error query returned matched: 0.
  • PlayMode entered, runtime probe succeeded, and PlayMode exited.
  • ui_doc capture and screenshot --view scene both produced nonblank images.

Note:

  • The active project was Test6000.5.0f1, a disposable blank test project.
  • The benchmark created assets under Assets/HeraSmoke/ and switched the project dependency to the local connector for measurement.

5. Conclusion

On Unity 6000.5.0f1, the v0.0.43 token-reduction behavior remains stable:

  • list --compact is 93 estimated tokens and is safe for bootstrap discovery.
  • default list is still about 1857 estimated tokens and should be reserved for descriptive browsing.
  • find_gameobjects --ids is 55 estimated tokens for a 20-result pickup search.
  • --fields all remains available but costs 797 estimated tokens for the same 20-result search.

The low-token CLI path is stable across 2022.3.62f2, 2023.2.22f1, 6000.3.5f2, and 6000.5.0f1 for the tested smoke workflow.