Skip to main content
Glama

set_niagara_data_interface_asset

DestructiveIdempotent

Assigns an asset to a Niagara user-parameter data interface property, verifying read-back and saving the recompiled system.

Instructions

Points an object property of a user-parameter data interface on a Niagara system at an asset (e.g. the mesh of a StaticMesh DI, the texture of a Texture DI), inside an undo transaction, reads it back, requests a system recompile and saves the system; success requires the read-back and the save. The DI must already exist (add_niagara_data_interface); property_name picks the property, else the first hard object property in reflection order. The asset must load and be of the property's class, else it is an error and nothing is written. For non-asset fields use set_niagara_data_interface_default.

Returns: { system_path: string, parameter_name: string, property_name: string, asset_path: string, set: bool (the property reads back the asset), saved: bool, save_error?: string }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
asset_pathNoAsset path of the UObject to assign (must be the right subclass)
system_pathYesAsset path of the Niagara System.
property_nameNoOptional FObjectProperty name on the DI; defaults to the first FObjectProperty
parameter_nameYesShort name of the user-parameter DI to mutate

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.2.0
    • changedInput schema / required
      Previous value: -[
      -  "parameter_name"
      -]New value: +[
      +  "system_path",
      +  "parameter_name"
      +]
  2. First observedv1.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing that the write happens inside an undo transaction, triggers a read-back, requests a system recompile, and saves the system, with success defined as read-back AND save. It also documents the failure semantics: if the asset fails to load or is the wrong class, nothing is written.

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?

Dense but front-loaded: the core action leads, prerequisites and failure modes follow, and the Returns block is clearly delimited. Every clause carries information, though the long semicolon-chained opening sentence is slightly heavy.

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

Completeness5/5

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

With no output schema, the description supplies the return shape (set, saved, save_error) itself, and it covers prerequisites, error behavior, and the sibling alternative. Nothing an agent needs to call this mutation correctly is missing.

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 coverage is 100%, so the baseline is 3, but the description adds real meaning: property_name falls back to the first hard object property in reflection order, and asset_path must resolve to an object of the property's class. These are semantic constraints the schema only hints at.

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 precise verb+resource: it points an object property of a user-parameter data interface on a Niagara system at an asset, with concrete examples (StaticMesh DI mesh, Texture DI texture). It distinguishes itself from siblings by naming add_niagara_data_interface as the prerequisite and set_niagara_data_interface_default as the tool for non-asset fields.

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

Usage Guidelines5/5

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

Explicitly states when to use this tool (asset-typed properties) versus the alternative for non-asset fields (set_niagara_data_interface_default), and states the precondition that the DI must already exist. The routing decision is fully spelled out.

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