v0.21.1 — auto-updater crash hotfix + community PR batch
Hotfix for yesterday's v0.21.0 — most importantly for the auto-updater crash some of you hit within hours of the release (#90, #94). Sorry about that one; it was as bad as bugs get, and the reports were superb. Details below, but the short version: install this release manually (download the zip for your engine, close the editor, replace Plugins/Monolith/ in your project). Building from source? Just pull master.
Important
If you're on v0.20.3 or v0.21.0 you may see a "Monolith auto-update aborted: missing integrity marker" notification instead of an update prompt — that is deliberate. Your installed version's updater has a Windows bug that crashes the editor during install verification, so this release publishes its checksums under new names your version doesn't recognize, making it fail safe instead of crash. Update manually this one time; from v0.21.1 onward the updater verifies and installs normally. (Versions before 0.20.3 will auto-update to this release, skipping the integrity check.)
Fixed
- CRITICAL — clicking "Install" on the update notification no longer crashes the editor on Windows (#90, #94). Since v0.14.7 the updater's integrity check called
FPlatformMisc::GetSHA256Signature, which has no Windows implementation — the engine's generic fallback is a fatal assert, so the check killed the editor the moment it ran. It now uses a portable, NIST-vector-tested SHA-256 built into the plugin, and release checksums moved toMonolith-SHA256-v2-*marker names so older (broken) updaters can never trip over them again. Thanks @Alexbeav for the minidump-verified root cause (#90) and the fix (#91), and @SilkroadLabs for the parallel report (#94). blueprintadd_event_dispatchernow creates the multicast delegate member variable (mirroring the Blueprint editor's own flow), soCallDelegate/AddDelegate/RemoveDelegatecan actually bind the dispatcher;remove_event_dispatchercleans it up too. Thanks @Alexbeav (#84).blueprintadd_node/resolve_nodewithnode_type: "SpawnActor"no longer crash the editor — the bare name aliases toSpawnActorFromClassinstead of instantiating the legacy node whose title code null-derefs, and generic-fallback nodes report a safe title. Thanks @Alexbeav (#85).blueprintadd_timeline_track— the new track's output pin now actually appears on the timeline node and is connectable (display-track registration + node reconstruction, mirroring the timeline editor). Thanks @Alexbeav (#86).blueprintbatch_executehonors a top-levelgraph_nameas the default for every op (per-op values still win) instead of silently editing the EventGraph. Thanks @Alexbeav (#87).blueprintresolve_nodedry-runs of delegate nodes now resolve the real signature pins instead of just execute/then/self. Thanks @Alexbeav (#92).- Array/object params sent as JSON-encoded strings now work everywhere — some MCP clients (Claude Code included) stringify complex tool arguments; the registry now recovers them centrally, so flat calls to
delete_assets,save_packages,set_function_params,set_event_dispatcher_params, etc. stop failing with "array is required". Thanks @Alexbeav (#93).
Added
editorload_levelfail-closed guards — refuses when the current map has unsaved changes that the unattended load would silently discard (override withdirty_policy:"discard"), and refuses when a stale in-memory copy of the target world would trip the engine's fatal "World Memory Leaks" assert. Thanks @Alexbeav (#89).- Paired
MODAL_OPEN/MODAL_CLOSEeditor-log telemetry with window identity and slow-task flag on UE 5.8+, so log consumers can tell a healthy modal from one still blocking the game thread. Thanks @Alexbeav (#88).
Huge thanks to @Alexbeav for an exceptional batch of contributions — nine merged PRs in this release, every one tested and documented to a standard that made review a pleasure.
Monolith-SHA256-v2-UE5.7: cce5ad20f43e466af8d54f5ef6a80b57c1fed5e689984ddb76f739daf11db3c4
Monolith-SHA256-v2-UE5.8: 75d1ec92d73fe6142827da8f157e433ae90b2e7596947a990406440247c64b1a
Monolith-SHA256-v2: cce5ad20f43e466af8d54f5ef6a80b57c1fed5e689984ddb76f739daf11db3c4