Skip to content
ClaudeUnreal
GitHub

Animation

This content is not available in your language yet.

15 tools — 0 typed MCP · 15 via cu CLI.

  • Animation — Assets — 4 tools
  • Animation — Blueprint Graph — 6 tools
  • Animation — Montage Editing — 3 tools
  • Animation — Skeleton & Mesh — 2 tools

Create an Animation Blueprint for a Skeleton to drive character animation state machines.

@mcp.tool()
@showcase(
"Create an Animation Blueprint for a Skeleton to drive character animation state machines.",
featured=True,
)
def create_animation_blueprint(
ctx: Context,
name: str,
skeleton: str,
path: str = "/Game/Animations"
) -> ToolResult:
"""[Anim] Create a new Animation Blueprint asset for a given Skeleton.
Anti-patterns:
- Do not pass a ``skeleton`` path that isn't a ``USkeleton`` (e.g. a
SkeletalMesh path, a Skeleton's owning AnimSequence) — handler rejects.
- Do not pass a ``path`` outside ``/Game/`` — engine/plugin mounts are
read-only.
- Do not include ``.uasset`` in any path argument.
Args:
ctx: The MCP context
name: Name for the Animation Blueprint (e.g. "ABP_Character")
skeleton: Asset path of the Skeleton to use (e.g. "/Game/Characters/Mannequin/Skeleton")
path: Content path to create the asset in (default: /Game/Animations)
Returns:
Dict with created Animation Blueprint name, path, and skeleton
"""
from claude_unreal_server import get_unreal_connection
try:
unreal = get_unreal_connection()
if not unreal:
return err("Failed to connect to Unreal Engine")
params = {"name": name, "skeleton": skeleton}
if path != "/Game/Animations":
params["path"] = path
response = unreal.send_command("create_animation_blueprint", params)
if not response:
return err(f"Failed to create animation blueprint: no response from Unreal Engine")
if response.get("status") == "error":
return err(f"Failed to create animation blueprint", error=response.get("error", "Unknown error"))
result = response.get("result", response)
return ok(f"Created animation blueprint '{name}'", **result)
except Exception as e:
logger.error(f"Error in create_animation_blueprint: {e}")
return err(f"Failed to create animation blueprint", error=str(e))