Skip to content

v0.20.3 - Leaner discovery + UE 5.8 support

Choose a tag to compare

@tumourlove tumourlove released this 20 Jun 05:30

v0.20.3 — Leaner discovery + UE 5.8 support

Two headline changes this release: discovery got a lot lighter, and Monolith now runs on UE 5.8 as well as 5.7.

Discovery is ~70-80% lighter

monolith_discover("<namespace>") used to hand back the full JSON-Schema for every action's params. That was the single biggest context hog in the whole MCP surface — discover("blueprint") alone was ~24,500 tokens, more than the entire top-level discover().

Now the per-namespace listing returns just the action name + a one-line description. When you actually need the full schema for one action, describe_query action_schema gives you that (~50 tokens), or pass detail=true to get the old full-schema response back verbatim. Measured drops:

namespace before after saved
blueprint 24,521 4,027 84%
animation 36,236 6,682 82%
ui 20,590 4,944 76%
ai 20,157 5,588 72%

The full action list is still returned by default — nothing is hidden behind pagination. There is also a new filter (substring match on name or description) and opt-in offset/limit if you want them.

UE 5.8 support

Monolith builds and runs on UE 5.8 now, from the same source tree as 5.7 — no separate branch, no #if soup.

If you build from source, that is all you need to know: one tree, both engines. If you use the prebuilt (Blueprint-only) binaries there is a wrinkle — a compiled plugin DLL is locked to one engine version's ABI, so one set of binaries cannot load on both 5.7 and 5.8. So this release ships two zips; grab the one for your engine:

  • Monolith-v0.20.3-UE5.7.zip for UE 5.7
  • Monolith-v0.20.3-UE5.8.zip for UE 5.8

The in-editor auto-updater detects which engine you are running and pulls the right one automatically, so after this you do not have to think about it. (There is also a plain Monolith-v0.20.3.zip — the 5.7 build under the old name, so auto-updaters from before this release keep working.)

Also in this release

A big batch of animation authoring landed: 8 IK-Retargeter pose + op-stack tuning actions, locomotion-variable scaffolding, IK Rig bone settings, FK bone-transform inspection, and a pile of smaller animation read/write improvements (retarget op introspection, anim-modifier properties/persist, blend-space root-motion reporting, wire-linked pin bindings, foot-sync derived from bone tracks). Plus set_property_at_path — a surgical writer that sets one value deep inside a CDO/DataAsset by a dotted+bracket path (Standing.Gaits[Jog].Starts.Forward) without rebuilding the whole array/map around it.

Widget animations created through the MCP UI actions now actually play at runtime — they were a silent no-op before because the generated member bound on the wrong FName. Thanks @mewliks for the fix and a really clean root-cause writeup (#72).

Upgrading

Grab the zip for your engine below, or let the in-editor auto-updater pull it.

Monolith-SHA256-UE5.7: 7669c30bfb9d1fc7af1dec58becfde637c66d46523bafb1fe95328fbe473b13e
Monolith-SHA256-UE5.8: eb91e8005762ff19b90231e1e0526e3e8597df04ad44922978702b81a3e66f30
Monolith-SHA256: 7669c30bfb9d1fc7af1dec58becfde637c66d46523bafb1fe95328fbe473b13e