← Back to portfolio

Unreal Engine tooling

Loom

Developer tool · Ongoing

Tools for the Unreal editor.

A C++ MCP bridge for Unreal Engine editor operations.

My role
Lead developer
Period
2026–ongoing
Built with
C++ · Unreal Engine · MCP · Python

Cutting what the agent has to read

170KB → 12KB

Tool definitions an agent loadsAt the Loom v4.0 release: about 250 operations in 14 self-describing namespaces. The surface has grown since.

An agent pays for every tool definition it loads. For the v4.0 release, I grouped about 250 Unreal editor operations into 14 namespaces that list and describe themselves on demand, which cut the tool surface from about 170KB to 12KB and the system prompt from about 77KB to 12KB. The surface has grown since, and keeping it small is ongoing work.

An end-to-end audit checks the tool list against the manifest, each namespace’s operations and descriptions, and structured errors for unknown tools.

The delay was the editor’s tick

50 ms

Floor for 19 editor operationsLoom v4.0 shared-memory transport, against about 300 ms per operation over TCP.

Each editor operation cost about 300 ms, and I traced it to the editor’s idle game-thread tick. Version 4.0 replaced the TCP daemon with a lock-free shared-memory ring inside the editor and a native MCP host, which took 19 operations to a 50 ms floor. TCP stays as a fallback.

Keep exploring

Poppet

Have a project in mind?

I’m open to product engineering roles and contract work.

Get in touch