get_blueprint_variable_detailed_info
Read a Blueprint variable's full details—default value, structured type, and all property flags (replication, save game)—to verify persistence and replication without running the game.
Instructions
Read ONE variable's full detail: its default value, the structured type (category, sub-category object and container kind -- not just the pin category get_blueprint_variables gives you), and every checkbox of the variable Details panel -- is_instance_editable / is_expose_on_spawn / is_blueprint_read_only / is_expose_to_cinematics / is_replicated / replication_condition / save_game. This is the headless oracle for "does this variable really persist into a .sav?", which otherwise costs a co-op PIE session plus a binary grep of the slot file. save_game is reported from BOTH places the flag lives, because they disagree until you compile: save_game is CPF_SaveGame as AUTHORED (FBPVariableDescription::PropertyFlags, exactly what the editor checkbox writes) while save_game_generated is the same flag on the FProperty of the GENERATED class, which is the one the save archive consults -- so save_game:true + save_game_generated:false means MARKED BUT NOT COMPILED, and nothing will persist yet; save_game_matches says it in one field. Read is_replicated FIRST: replication_condition is always populated (COND_None by default) and only means anything when replication is on. default_value is read from the CDO when the class is compiled (default_value_source:"cdo"), so it does not come back EMPTY for arrays, maps and every variable of an already-compiled Blueprint. Booleans of this family are contrasted, not believed -- audit_replication is the ground truth for replication.
Returns: { blueprint_name: string, variable_name: string, default_value: string, default_value_source: "cdo"|"blueprint_description", default_value_serialized: string, var_type: string, property_type: string, var_type_detail: {category, sub_category, sub_category_object, sub_category_object_path, container}, is_instance_editable: bool, is_expose_on_spawn: bool, is_blueprint_read_only: bool, is_expose_to_cinematics: bool, is_replicated: bool, replication_condition: string, save_game: bool, save_game_generated: bool, save_game_generated_found: bool, save_game_matches: bool }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| variable_name | Yes | Name of a variable DECLARED on this Blueprint (e.g. "MyFloat"); inherited variables are not covered | |
| blueprint_name | No | Name of the blueprint | |
| blueprint_path | No | Alias of `blueprint_name` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `blueprint_name`. |