Object Properties
Every Object Properties command in CodeFizz Editor Agent, with parameters and examples.
Every Object Properties command in CodeFizz Editor Agent, with parameters and examples.
3 commands. Each shows its parameters and an example, and has a copyable deep link, so you (or an AI agent) can jump straight to one.
describe_objectIntrospect any object's properties (filtered, top-N, with types and enum values)
Reflection-based introspection for any target: a placed actor, a live component, a Blueprint CDO, a component template inside a Blueprint, or a plain asset. Returns property metadata (cpp_type, ue_type, category, flags, clamp ranges, enum valid_values, current value) anchored at an optional property_path. Pointing property_path at an instanced-object array (e.g. a MassEntityConfigAsset's Config.Traits) enumerates each element's concrete class and its own properties in one call. Use filter/category to narrow, max_results/cursor to paginate, and max_depth to control struct/element expansion. The anchor takes the same path grammar as set_object_property, so it can point at one array element, TMap row or TSet element (Tags[0], Styles[Marker.Gate]); anchoring at the container itself reports its key and value types. This is the 'what properties exist and what can I set' tool.
cfa describe_object --blueprint-path "/Game/Blueprints/BP_Miner" --filter "mesh"
cfa describe_object --actor "BP_Smelter_2" --component "OutputMesh" --property-path "BodyInstance"
cfa describe_object --asset-path "/Game/Data/DA_Recipe" --category "production" --max-results 20
cfa describe_object --blueprint-path "/Game/UI/WBP_Menu" --widget "PlayButton" --filter "style"get_object_propertyRead one property value at a property path
Reads the current value of a single property on any target and returns it as JSON. Takes the same path grammar as set_object_property, so nested structs, array elements, TMap rows by key and TSet elements all read the way they write: BodyInstance.bEnableGravity, Tags[0], Settings.Bloom.Intensity, Styles[Marker.Gate]. Resolve the target with actor, blueprint_path, or asset_path (plus optional component).
cfa get_object_property --blueprint-path "/Game/Blueprints/BP_Miner" --property-path "ProductionRate"
cfa get_object_property --actor "BP_Smelter_2" --component "Mesh" --property-path "BodyInstance.bEnableGravity"
cfa get_object_property --asset-path "/Game/Data/DA_Styles" --property-path "Styles[Marker.Gate]"set_object_propertySet, append, or remove properties and array elements at dotted/indexed paths
Writes property values on any target via reflection, no per-property hardcoding. Works on placed actors, live components, Blueprint CDOs, component templates, plain assets (data assets, MassEntityConfigAsset), and widgets inside a Widget Blueprint (--widget NAME, or --slot for its layout slot). This replaces the old set_widget_properties / set_slot_properties. Set: provide property_path + value, or a properties map of path -> value for batch edits. Supports every type, primitives, enums, object refs, nested structs, plain arrays, instanced object arrays, FInstancedStruct arrays, TMaps and TSets. Paths: one grammar, used by every command that takes a property_path, a properties map or a remove_path, and by the reads (get_object_property, describe_object). Settings.Bloom.Intensity a nested struct member Tags[0] array element by index Tags[3], 3 == length append Tags[-] append without knowing the current length Styles[Marker.Gate] a TMap row by key; a key that is absent ADDS that row Styles["Marker.Gate Blue"] quote a key holding a dot, a space or a bracket Flags[0] / Flags[-] TSet element by position / add an element LensFlareTints[2] fixed C array element Map keys go through the key property's own ImportText, so any key type works: int, FName, FString, enum name, FGameplayTag, asset path, struct literal. For instanced arrays, pass {"_ClassName":"<class path>"...props} to construct the element, the same key works for instanced subobjects and FInstancedStruct elements. A map subscript is additive: it adds or edits that one row and leaves the others alone. Writing the WHOLE map as a JSON object REPLACES every row, so prefer the subscript form to add or edit one row. A whole set or map write is all or nothing: one bad key, value or element refuses it, the error names the entry, and the container keeps what it had. Only the final segment may grow a container, a non-leaf segment never creates anything, and a container that grew is rolled back if the value is rejected. Remove: remove_path (single) or remove_paths (list) deletes an array element, a map row by key, or a set element by position (e.g. "Config.Traits[1]", "Styles[Marker.Gate]", "Flags[0]"). Removals run after sets. Blueprint-template edits propagate to non-overridden instances; asset edits mark the package dirty (call save_asset to persist). Returns the applied and removed arrays. The call is all or nothing: if any path or removal is refused, it errors naming every refused path and the paths that did apply are undone.
cfa set_object_property --blueprint-path "/Game/Blueprints/BP_Miner" --component "Mesh" --property-path "BodyInstance.bEnableGravity" --value true
cfa set_object_property --asset-path "/Game/Mass/DA_Config" --property-path "Config.Traits[0]" --value '{"_ClassName":"/Script/MassMovement.MassMovementTrait"}'
cfa set_object_property --asset-path "/Game/Mass/DA_Config" --property-path "Config.Traits[0].Movement.MaxSpeed" --value 600
cfa set_object_property --asset-path "/Game/Mass/DA_Config" --property-path "Config.Traits[-]" --value '{"_ClassName":"/Script/MassMovement.MassMovementTrait"}'
cfa set_object_property --asset-path "/Game/Data/DA_Styles" --property-path "Styles[Marker.Gate]" --value '{"Tint":{"R":1,"G":0,"B":0,"A":1}}'
cfa set_object_property --asset-path "/Game/Mass/DA_Config" --remove-path "Config.Traits[1]"
cfa set_object_property --blueprint-path "/Game/UI/WBP_Menu" --widget "Title" --property-path "Text" --value "JIGGI"
cfa set_object_property --blueprint-path "/Game/UI/WBP_Menu" --widget "MenuBox" --slot --property-path "LayoutData.Offsets.Left" --value 120