fork_class_chain
Creates a thin child Blueprint from a base class at a specified name/path and optionally reparents an existing Blueprint onto it, with guarded verification in one call.
Instructions
One-call thin-fork + optional reparent + verify: collapses the create->reparent->verify pattern into a single call. It creates a NEW thin child Blueprint of base_class at fork_name (the seam you insert between a shared-library base and your own class), optionally tags it with the fork-origin metadata tag (project setting ForkOriginTag), saves it, and then -- only if reparent_target is given -- reparents that existing Blueprint onto the new fork through the guarded reparent_blueprint_safe path (snapshot + compile flags + post-check + rollback) and reports its verification. WARNING: no durable backup is taken -- the rollback is in-memory only, so call backup_asset yourself first if you want a rollback-to-disk safety net.
Returns: { fork_name, fork_path, fork_generated_class, base_class, already_exists, fork_origin_set, saved, save_error?, reparent:{...safe-reparent result...}|null, verification, verification_checks, error?, success }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Optional folder for fork_name when it is a bare name (default /Game/Blueprints). | |
| 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. | |
| fork_name | Yes | Name or full /Game path for the NEW thin child Blueprint to create. | |
| asset_path | No | Alias of `path` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `path`. | |
| base_class | Yes | Parent class for the new fork (native /Script, /Game/.../BP.BP_C, or a BP asset path). | |
| fork_origin | No | Optional: value stored in the fork's fork-origin metadata tag (project setting ForkOriginTag, default 'mcp.forkOrigin'), recording its fork lineage. | |
| auto_rollback | No | Optional (default true): forwarded to the safe reparent of reparent_target. | |
| reparent_target | No | Optional: an existing Blueprint to reparent onto the new fork. | |
| rename_colliding_vars | No | Optional (default false): forwarded to the safe reparent of reparent_target. |