set_blueprint_function_pure
Mark a Blueprint function graph as pure or impure via the editor's Pure checkbox. Required to finish UMG property bindings, since bindings reject functions that are not BlueprintPure or const.
Instructions
Mark a Blueprint function as PURE (or back to impure), the editor's "Pure" checkbox: a pure function has no exec pins and is re-evaluated wherever its output is read. REQUIRED to finish a UMG property binding -- FDelegateEditorBinding::IsBindingValid refuses any function that is not FUNC_BlueprintPure or const, so add_widget_property_binding will report valid:false until this has been run on the function. The counterpart reader is get_blueprint_functions_list's is_pure, which reads the same flag off the same UK2Node_FunctionEntry. WARNING: Turning a function pure REMOVES its exec pins: any existing wire into or out of them is dropped by the reconstruct, so do this BEFORE building the function's body, not after.
Returns: { blueprint_name, function_name, is_pure, was_pure, changed, function_flags } -- is_pure is RE-READ from the entry node after the compile, so it is evidence and not an echo.
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. | |
| is_pure | No | true to mark pure (default true), false to make it impure again. | |
| function_name | Yes | Name of the function GRAPH (not an event; events cannot be pure). | |
| blueprint_name | No | Name (or full object path) of the Blueprint owning the function. | |
| blueprint_path | No | Alias of `blueprint_name` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `blueprint_name`. |