Skip to main content
Glama

set_niagara_component_object

DestructiveIdempotent

Sets a UObject override parameter on a spawned Niagara component by loading the object at a given path, then verifies the binding via read-back.

Instructions

Sets an Object (UObject*) override parameter on a spawned Niagara component by loading the UObject at the given object_path. Resolves the UNiagaraComponent on the owner actor and calls SetVariableObject, then reads it back via GetNiagaraVariableObject and returns its GetPathName() as a string.

Returns: { actor_name: string, variable_name: string, variable_type: string, set: bool, verified: bool, object_path_read_back: string, object_class_read_back: string }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actor_nameYesOwner actor identifier (internal name or editor label).
object_pathYesAsset path of the UObject to bind (e.g. "/Game/Materials/M_Heat.M_Heat").
variable_nameYesNiagara variable name (override is added locally if needed).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations covering the safety profile (readOnly=false, destructive=true, idempotent=true), the description goes further by disclosing the internal sequence (resolve component, SetVariableObject, then GetNiagaraVariableObject read-back) and the 'override is added locally if needed' side effect. It does not explain failure modes (e.g. what set/verified=false means) or why destructiveHint is true for a variable override, leaving a small gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the operation, followed by the return shape — no filler. The inline return field list is justified because there is no output schema, though the long read-back field enumeration makes the second sentence dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter mutation tool with no output schema, the description covers the operation, prerequisites, side effect, and return fields (set/verified/read-back path and class), which is close to what an agent needs. Edge-case behavior on a failed set is not described, a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description adds real meaning by explaining that object_path is loaded and bound as a UObject* (not merely a string) and that variable_name may create a local override if absent. It omits the exact path syntax nuance beyond the schema example, keeping it from a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Sets an Object (UObject*) override parameter on a spawned Niagara component'), and the explicit type qualifier distinguishes it from the many sibling setters (set_niagara_component_int/float/vector/quat, etc.) without opening a schema. The mechanism (load UObject from object_path, call SetVariableObject) further nails down what it uniquely does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description establishes the precondition implicitly ('on a spawned Niagara component', 'resolves the UNiagaraComponent on the owner actor') and the input form (asset path). It does not explicitly name sibling alternatives such as set_niagara_component_vector or set_niagara_user_parameter or state when one should be preferred, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools