Skip to content

v1.1.23

Choose a tag to compare

@db-lyon db-lyon released this 19 Jul 02:50

v1.1.23

An issue-resolution pass closing 16 open reports: a WebSocket framing fix that unblocks large responses, in-memory SoundWave PCM for semantic sound search, several new editor/level/landscape/asset actions that retire execute_python fallbacks, and a batch of handler bug fixes. Verified by a full plugin build on UE 5.8 plus the unit suite.

Server

  • audio(extract_pcm) decodes a USoundWave's imported audio to in-memory 16-bit PCM (base64) with sampleRate/channels/frames metadata, optional maxSeconds window and mono downmix. No intermediate file, no reliance on the original import path. Enables semantic sound search (CLAP). (#729)
  • audio(list) now honors directory, paginates via maxResults/offset, and returns total/hasMore/nextOffset from a single filtered query. (#730)
  • editor(close_sequence) closes the open Level Sequence editor before destructive actor ops. (#718)
  • editor(purge_python_modules) drops cached embedded-Python modules by prefix so the editor stops running stale tool code after an on-disk edit. (#719)
  • editor(open_tab) / editor(open_settings) open a registered editor tab or navigate a settings viewer for visual settings evidence. (#727)
  • editor(execute_python / run_python_file) gain a resultVariable channel that returns a named top-level variable as result, separate from print()/log. (#732)
  • level(set_editor_visibility) bulk-sets editor-only visibility; level(get_outliner) now reports and filters editorHidden per actor. (#717)
  • landscape(list_proxies) / landscape(find_proxy_at) enumerate loaded World Partition streaming proxies with world bounds and resolve which proxy covers a world position. (#733)
  • asset(create_asset_by_class) creates an asset of any concrete UObject class (physical-material subclasses, curves, settings objects), not just UDataAsset. (#726)
  • plugin publish pushes a listing and its README to the plugin registry.

Bug fixes

  • WebSocket frames >= 64 KiB were malformed: the 8-byte extended payload length was built from an int32, corrupting the frame so the client dropped the connection on any large response. Encoded as uint64. (#731)
  • gameplay(set_simulate_physics) silently no-opped because the schema named the parameter simulate while the handler read only enabled. Now accepts either and errors explicitly otherwise. (#721)
  • editor(run_stat) with a bare stat name (e.g. unit) ran stat fps. It now prefixes a bare name with stat . (#722)
  • level(spawn_light) accepted attenuationRadius but never applied it. Now written to point/spot/rect light components. (#723)
  • widget(add_widget) tripped the WidgetBlueprintCompiler missing-GUID ensure on UE 5.8 because the GUID registration was gated to exactly 5.4. Registered on 5.8+ at both construction sites. (#728)
  • editor(capture_screenshot, target=pie) captured the editor viewport and stripped the debug canvas in Play-in-New-Window. It now captures the PIE game viewport with UI + on-screen debug canvas. (#724)
  • gameplay(set_mapping_modifiers) could not author Enhanced Input triggers by class and could leave a null Triggers entry that trips AssetCheck. Triggers now build by class or type, apply nested properties, never append a null, and report unresolved specs. (#725)

Internals

  • Blueprint graph-body authoring now routes to the Epic DSL: amended the ue-mcp-blueprint skill and added a ue-mcp-epic-routing skill for epic-vs-native tool selection. (#711)
  • Live smoke-test regressions added per fixed issue under tests/smoke/issue-*.