bind_widget_to_viewmodel
Adds a verified MVVM binding to a Widget Blueprint, connecting a widget property to a viewmodel property using resolved paths.
Instructions
Append an FMVVMBlueprintViewBinding to a Widget BP's MVVM authoring state, with a REAL SourcePath/DestinationPath (resolved via reflection and written through UMVVMEditorSubsystem, then re-read to verify the write actually stuck).
Returns: { widget_blueprint_name, source_path, destination_path, binding_mode, created, binding_count, binding_id, source_path_verified, destination_path_verified, has_mvvm_extension }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Optional. This command is REFUSED while a Play-in-Editor session is running: it either compiles a Blueprint (the reinstancer can retain a world, and CheckForWorldGCLeaks is Fatal -- it KILLS the editor) or writes to disk (Editor.AllowSavingAssetsDuringPIE=0 makes the engine refuse the write, so it would report success without writing a byte). Stop PIE and retry instead; force=true runs it anyway, at your own risk. | |
| source_path | Yes | "ViewModel.Property" (exactly one dot): ViewModel = an existing viewmodel context name (added via add_viewmodel), Property = a reflected property on that viewmodel's class. Multi-segment ("A.B.C") is NOT supported. | |
| binding_mode | No | optional: "OneWay" (default), "TwoWay", "OneTime", "OneWayToSource" | |
| destination_path | Yes | "Widget.Property" (exactly one dot): Widget = a widget name in this Widget BP's WidgetTree, Property = a reflected property on that widget's class. Multi-segment is NOT supported. | |
| widget_blueprint_name | Yes | /Game path of the Widget Blueprint asset |