Skip to main content
Glama

create_river_water_body

Spawn a river water body actor in Unreal Engine 5, optionally link it to a WaterZone, and read back wave height for verification.

Instructions

Spawn a River AWaterBody actor, optionally link to a WaterZone, and read back its wave height (a river is born at 0.000 -- that is the control case for the lake defect).

Returns: { actor_label: string, actor_name: string, body_type: string, water_zone_label: string, linked_to_zone: bool, affects_landscape: bool, max_wave_height: number (RE-READ), max_wave_height_on_spawn: number (RE-READ), has_waves: bool, waves_disabled: bool, requested: { actor_label, location, water_zone_label, affects_landscape, disable_waves } }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
locationNoOptional [X, Y, Z] world location (defaults to origin)
actor_labelYesLabel to assign to the new water body actor
disable_wavesNoOPT-IN, default FALSE. Sets water_waves = None right after the spawn and RE-READS GetMaxWaveHeight(). A river has no waves to begin with, so this is normally a no-op here.
water_zone_labelNoOptional label of an existing AWaterZone to auto-link the body to. If given and the zone is not found, `success` is FALSE (the body is still spawned; `linked_to_zone` says so).
affects_landscapeNoWhen true the body carves the existing landscape via the water landscape brush; defaults to FALSE (non-destructive)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A3.7/5.0
Behavior4/5

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

With annotations already covering the safety profile (non-readOnly, non-destructive, non-idempotent), the description adds useful behavioral context: it lists the returned fields, flags max_wave_height and max_wave_height_on_spawn as RE-READ, and notes the body is re-inspected after spawn. It does not mention permission requirements or cleanup, and the schema's reference to a `success` field that is absent from the Returns block is a minor inconsistency.

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?

Front-loaded with the spawn action, and the long Returns block is justified because no output schema exists. The parenthetical 'a river is born at 0.000 -- that is the control case for the lake defect' is cryptic and costs a little clarity, but overall the structure is efficient.

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 spawn tool with no output schema, the description supplies the return shape (actor label/name, body type, zone linkage, wave-height fields, and echoed request), which is exactly what an agent needs. Coverage is strong; the only gap is the absent `success` field and lack of explicit sibling disambiguation.

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 description coverage is 100%, so the schema already documents all five parameters in detail. The description only restates the optional WaterZone link and the wave-height read-back, adding no syntax or behavior beyond the schema; baseline 3 is correct when the schema carries the load.

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

Purpose4/5

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

States a specific verb and resource: 'Spawn a River AWaterBody actor, optionally link to a WaterZone, and read back its wave height.' This is clear and distinguishable from lake/ocean counterparts by naming the river body type, though it never explicitly routes the agent against sibling tools like create_lake_water_body or create_ocean_water_body.

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 through the 'river' body type and the control-case framing, and notes that disable_waves is 'normally a no-op here.' However it gives no explicit when-to-use / when-not-to-use guidance or named alternatives (lake, ocean, or add_water_body_to_zone), leaving selection to inference.

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