Skip to main content
Glama

apply_mesh_boolean

Destructive

Modify a DynamicMeshActor's live mesh in Unreal Editor with a CSG boolean against a temporary sphere or primitive, applying Subtract, Union, or Intersect in place.

Instructions

Apply a CSG boolean (Subtract by default, Union or Intersect) between the live dynamic mesh of a DynamicMeshActor in the editor world and a temporary primitive tool: other_primitive (Sphere by default) of size cm, offset by location in mesh-local space. The target is changed in place inside an editor transaction, nothing is saved, and each call cuts or merges again. An unknown actor, operation or primitive is an error. When the engine refuses the result (an empty one, such as subtracting from an empty mesh) the mesh is left unchanged, boolean_applied is false and the call fails. To use another actor's mesh as the tool call apply_mesh_boolean_actor_to_actor.

Returns: { actor_name: string, operation: string, other_primitive: string, triangle_count: int, triangle_count_before: int, vertex_count: int, boolean_applied: bool }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sizeNoTool primitive size in cm, default 100
locationNoOptional tool [x, y, z] offset
operationNoUnion, Subtract, or Intersect, default Subtract
actor_nameYesLabel or name of the target DynamicMeshActor
dimensionsNoFallback alias for size when size is omitted (cm)
other_primitiveNoTool primitive shape, default Sphere

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare destructive=true, idempotent=false, and readOnly=false, but the description adds rich behavioral context: changes happen in place inside an editor transaction, nothing is saved, repeated calls cut or merge again, unknown actor/operation/primitive is an error, and engine refusal leaves the mesh unchanged with boolean_applied false. This goes well beyond the structured safety hints with no contradiction.

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

Conciseness5/5

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

The description is dense but front-loaded with the core operation, then covers side effects, error cases, alternative tools, and return fields. Every sentence contributes operational or safety information, and the returns block compensates for the absent output schema.

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?

For a complex editor-world mesh mutation tool with no output schema, the description fully covers behavior, error handling, in-place mutation semantics, and return values. Annotations and schema already handle safety and parameter details, so nothing critical 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 description coverage is 100%, setting a baseline of 3. The description adds useful semantics beyond the schema: the offset is in mesh-local space, operation defaults to Subtract, other_primitive defaults to Sphere, and size is in cm. It does not fully detail how dimensions aliases size, but the schema covers that.

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 (apply a CSG boolean) and resources (live dynamic mesh of a DynamicMeshActor, temporary primitive tool), with defaults and operation types. It explicitly names the sibling apply_mesh_boolean_actor_to_actor when another actor's mesh should be used as the tool, making the tool's scope unambiguous.

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 routes the agent to apply_mesh_boolean_actor_to_actor when the tool should be another actor's mesh. It also clarifies the operation happens on a live dynamic mesh in the editor world, giving clear context for when this tool applies.

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