Skip to main content
Glama

create_niagara_system

Creates or idempotently loads an empty UNiagaraSystem asset, wires spawn/update scripts, and saves it with no emitters for headless UE5 workflows.

Instructions

Creates (or loads, idempotently) an empty UNiagaraSystem asset and saves it. Uses NewObject + UNiagaraSystemFactoryNew::InitializeSystem (headless-safe); the new system has its system spawn/update scripts wired but no emitters.

Returns: { system_name: string, asset_path: string, created: bool, already_exists?: bool, saved?: bool, save_error?: string, emitter_count: int }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName of the Niagara System asset to create.
package_pathNoTarget content folder; defaults to /Game/Niagara

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A3.5/5.0
Behavior2/5

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

The description does add real behavioral context beyond the annotations (headless-safe implementation path, saved-on-creation, empty emitter list, and the full return shape). However, it claims the operation is idempotent ('Creates (or loads, idempotently)') while the annotations declare idempotentHint=false, which is a direct conflict on a stated trait.

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 plus a return-shape line, front-loaded with the action and scope before implementation details. The 'NewObject + UNiagaraSystemFactoryNew::InitializeSystem' clause is implementation trivia for a calling agent, but it earns partial credit by signalling headless safety.

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 create-and-save tool, the description covers creation, saving, initial state, and the return contract even though no output schema exists. The main gap is the unresolved idempotency/overwrite behavior when the asset name already exists.

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

Parameters3/5

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

Schema coverage is 100% with only two well-documented parameters, so the schema carries the parameter burden and baseline is 3. The description adds no extra semantics for 'name' or 'package_path' (e.g., path format, overwrite behavior on collision).

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?

The description names a specific verb and resource ('Creates ... an empty UNiagaraSystem asset') and pins down scope ('empty', 'system spawn/update scripts wired but no emitters'). That scope detail is exactly what separates it from siblings like add_niagara_emitter_from_template or create_niagara_effect_type, which populate systems rather than creating a bare one.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the entry point before adding emitters, but no alternative is named and no when-not condition is given (e.g., what to do if the asset already exists). No preconditions or ordering guidance relative to add_niagara_emitter_* is stated.

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