Skip to main content
Glama
aadeshrao123

Unreal-MCP

by aadeshrao123

set_niagara_scratch_pad_hlsl

Set HLSL source on a Niagara scratch pad's Custom HLSL node, automatically creating input and output pins as defined.

Instructions

Set HLSL source on a scratch pad module's Custom HLSL node, creating pins as needed.

Pin creation uses exported schema APIs (UEdGraphSchema_Niagara::TypeDefinitionToPinType) plus reflection on the CustomHlsl UPROPERTY (SetCustomHlsl is not NIAGARAEDITOR_API exported). After changes the node's FNiagaraFunctionSignature is rebuilt from the pin list, mirroring UNiagaraNodeCustomHlsl::RebuildSignatureFromPins exactly.

Args: system_path: Niagara System asset path module_name: Scratch pad module name containing the Custom HLSL node hlsl_code: Raw HLSL source. Reference pins by name (e.g. Result = Value * Scale;) inputs: Optional list of {"name": str, "type": str} — input pins to create outputs: Optional list of {"name": str, "type": str} — output pins to create clear_existing_pins: If true, remove all current non-Add pins before adding new ones

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputsNo
outputsNo
hlsl_codeYes
module_nameYes
system_pathYes
clear_existing_pinsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

With no annotations provided, the description carries the full burden and discloses behavioral traits: pin creation as needed, use of schema APIs and reflection, signature rebuilding, and the effect of clear_existing_pins. It could mention permissions or error handling, but overall is transparent about internal workings.

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?

The description is relatively concise with a single paragraph followed by a bullet-style Args list. It could be more structured (e.g., separate sections), but the information is efficiently presented without excessive verbosity.

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?

Given 6 parameters (3 required) and no annotations, the description covers most aspects: purpose, parameter details, and internal process. It assumes the node exists and doesn't mention prerequisites like loading the system. However, an output schema exists, so return values are not required here. Overall, fairly complete for a complex tool.

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

Parameters5/5

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

The schema has 0% coverage, so the description must add meaning. It does so thoroughly with an Args block explaining each parameter, including the structured format for inputs and outputs as lists of {name, type} objects with examples. This goes well beyond the raw schema and enables correct invocation.

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 explicitly states 'Set HLSL source on a scratch pad module's Custom HLSL node, creating pins as needed.' It provides a specific verb and resource, and clearly distinguishes from sibling tools like add_niagara_custom_hlsl_input or rename_niagara_custom_hlsl_pin by focusing on the holistic operation of setting the HLSL code and managing pins.

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?

The description implies usage for setting HLSL code on a scratch pad module but does not explicitly state when to use this tool versus alternatives like add_niagara_custom_hlsl_input or when not to use it (e.g., if only minor pin adjustments are needed). No exclusions or context for choosing this tool are provided.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aadeshrao123/Unreal-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server