Agent skill

UMG MCP Authoring

by winyunq in winyunq/UnrealMotionGraphicsMCP

Builds and edits Unreal Engine UMG interfaces through the Unreal Motion Graphics MCP, covering widget trees, HLSL materials, Sequencer animations and readback checks.

MITAuto-check passedGame Development

Install UMG MCP Authoring

skills CLI
$ npx skills add winyunq/UnrealMotionGraphicsMCP --skill umg-mcp-authoring -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install winyunq/UnrealMotionGraphicsMCP umg-mcp-authoring --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/winyunq/UnrealMotionGraphicsMCP.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Skills/umg-mcp-authoring .claude/skills/umg-mcp-authoring && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
umg-mcp-authoring
GitHub stars
210
Token cost
~2.6k tokens
SKILL.md length
1,112 words
Files
3 (incl. references)
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Builds and edits Unreal Engine UMG interfaces through the Unreal Motion Graphics MCP, covering widget trees, HLSL materials, Sequencer animations and readback checks.

  • Works in 7 steps: Set the attention target first with… → Build widget structure with panel parents. → Write properties as union updates. → …
  • Creating a new widget blueprint and laying out its widget tree
  • SKILL.md covers Workflow, Blueprint Direction and Validation Commands
  • Calls python

What it does

This skill teaches an agent to build and edit Unreal Engine 5.8 UMG interfaces through the Unreal Motion Graphics MCP server, using its tools instead of editing .uasset files directly or bypassing MCP with raw socket scripts. Work starts by setting the target asset with set_target_umg_asset, which creates a WidgetBlueprint when given a missing /Game path, while set_target_widget is used only for operations meant to be scoped to one widget.

Widget trees are built from panel parents such as CanvasPanel, Overlay, VerticalBox and HorizontalBox; children cannot go directly under a Button or Border, so text on a button is added through an Overlay with siblings. Properties are written as union updates that leave unspecified values alone, delete_widget needs explicit confirmation, and apply_layout is preferred for bulk layout. Visual richness comes from HLSL-backed UI materials, and widget animations are authored through Sequencer tracks and checked with overview calls rather than trusting write responses. A reference covers a login demo.

When your agent uses it

  • Creating a new widget blueprint and laying out its widget tree
  • Writing widget properties and bulk layouts through MCP tools
  • Adding HLSL-backed materials to UI
  • Animating widgets with Sequencer and verifying by readback

Example prompts

  • “Create a WidgetBlueprint for a login screen and lay out the fields in a VerticalBox.”
  • “Put a text label on a button using an Overlay, then set its slot padding.”
  • “Add a fade-in animation to the title widget and read the keys back to confirm.”

Requirements

  • Unreal Engine 5.8 with the Unreal Motion Graphics MCP (FabUmgMcp) running

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Set the attention target first with set_target_umg_asset.
  2. Build widget structure with panel parents.
  3. Write properties as union updates.
  4. Use HLSL materials for UI visual richness.
  5. Animate widgets through Sequencer.
  6. Wire Blueprint through BlueCode.
  7. Validate with read operations.

What it can do on your machine

Read from SKILL.md and the folder at commit a0494ef. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

UMG MCP Authoring loads about 2.6k tokens when it runs, and up to ~3.3k if it reads all its reference files. Until then it costs about 86 tokens; SKILL.md has 1,112 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~86
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from winyunq/UnrealMotionGraphicsMCP at commit a0494ef, republished under its MIT licence (© winyunq). 1,112 words, ~2,585 tokens.

Download SKILL.mdSave it as .claude/skills/umg-mcp-authoring/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
umg-mcp-authoring
description
Use when Codex needs to create, edit, inspect, validate, or demo UE5.8 UMG interfaces through Unreal Motion Graphics MCP/FabUmgMcp, especially target/default workflows, widget tree authoring, HLSL-backed UI materials, Sequencer widget animations, Blueprint event wiring, readback validation, or operation-trace demo scripts.

UMG MCP Authoring

Use MCP tools as the hands and this skill as the experience. Do not mutate .uasset files directly and do not bypass MCP with raw socket scripts when validating the public protocol.

For the five-system login demo and concrete script workflow, read login-demo.md.

Workflow

  1. Set the attention target first with set_target_umg_asset.

    • Passing a missing /Game/... UMG path creates a WidgetBlueprint.
    • Use set_target_widget only when the next operation is intentionally scoped to a widget.
    • Prefer omitted/default path arguments after target is established.
  2. Build widget structure with panel parents.

    • CanvasPanel, Overlay, VerticalBox, and HorizontalBox are reliable authoring parents.
    • Current create_widget attaches children through UPanelWidget; do not create children directly under Button or Border.
    • To put text on a button or content over a border, create an Overlay and add the visual widget plus the text as siblings.
  3. Write properties as union updates.

    • set_widget_properties should set or overwrite supplied properties and leave unspecified properties intact.
    • Use Slot.Position and Slot.Size aliases for CanvasPanel children when possible.
    • Use nested Slot objects for panel-slot alignment and padding.
    • Use delete_widget only for explicit deletion and pass confirm_delete=true.
    • Prefer apply_layout for bulk layout authoring; export_umg_to_json and apply_json_to_umg are hidden compatibility/debug paths.
  4. Use HLSL materials for UI visual richness.

    • Prefer hlsl_set_target, hlsl_set, and hlsl_compile.
    • New HLSL targets default to UI material behavior.
    • For detailed material rules, use the umg-material-mcp skill.
  5. Animate widgets through Sequencer.

    • Create or select an animation with create_animation and set_animation_scope.
    • Focus the animated widget with set_target_widget or set_widget_scope.
    • Use animation_append_widget_tracks for widget-oriented union key writes.
    • Use animation_append_time_slice when authoring a single moment across one or more widgets.
    • Read back with animation_overview or animation_time_properties; do not trust write responses alone.
    • Treat get_animation_keyframes, get_animation_full_data, set_property_keys, remove_property_track, and remove_keys as hidden compatibility commands, not default authoring tools.
  6. Wire Blueprint through BlueCode.

    • Use bluecode_set_function("WidgetName.EventName") for component event scope.
    • Default bluecode_read_function(detail="semantic") is the attention-compressed comprehension view and intentionally omits node/pin sidecars. Before editing an existing graph, re-read with detail="roundtrip"; use detail="debug" or include_connections=true only when raw nodes, pins, or edges are actually needed.
    • Preserve base_revision, source_map, action_hints, expression_hints, and action_hints_by_line from the round-trip read and pass them back to bluecode_apply. A stale base_revision must fail instead of rematching changed graph state.
    • When editing a readback line, keep the corresponding hint. Hints with node_id cause bluecode_apply to update the existing node's supplied input pins/defaults instead of appending a duplicate node, including variable-set and Branch nodes; Pin=A+B and Pin=value("Select", ...) can create data expression nodes for that existing pin. Unmentioned pins and links are preserved.
    • When reconnecting or deleting edges, read connections via detail="debug" or include_connections=true; use each entry's connect as a bluecode_connect reference and delete_target as a bluecode_delete(..., confirm_delete=true) target.
    • Write with default bluecode_apply(mode="union") and bluecode_apply_variables; use dry_run=true when the insertion plan should be inspected first. Union mode aligns semantic statements, inserts unmatched statements before the next matched right anchor, otherwise appends at the block end, and never deletes omitted graph content. Use FunctionName(Pin=value, ...) for normal calls, node("Action Menu Name", Pin=value, ...) for generic exec/action nodes, and value("Action Menu Name", Pin=value, ...) for pure/data nodes.
    • Pin names in Pin=value and bluecode_connect endpoints may use internal pin names, editor display names, or FriendlyName. When omitting an endpoint pin, rely on automatic resolution only if the node has one matching data input/output.
    • Pin values may be strings, numbers, booleans, or structured objects such as {path:"/Game/..."}, {class:"/Script/..."}, {object:"..."}, {text:"..."}, or {literal:"(X=0,Y=0)"}. Check input_warnings after writes.
    • Pin values may also be data expressions: Pin=value("Select", Index=ActiveIndex), Pin=PureFunction(A, B), or Pin=A + B. These create pure/data nodes and connect their compatible output.
    • For custom pure/data expression nodes, pass action hints for the inner expression as well, using the inner Action Menu name or full expression key, such as expression_hints={"My Custom Pure": {...}} for Pin=value("My Custom Pure", Input=A). Readback returns these dependency hints in expression_hints, mirrors them into action_hints, and bluecode_apply accepts either object directly.
    • If a custom, plugin, or macro node stores behavior in UObject node properties rather than pins, pass node_properties to bluecode_apply using the same statement/name keys as action_hints, or put node_properties/properties inside the matching hint object. Treat operations[].result.node_properties.failures as a failed semantic write.
    • If a data expression cannot connect to the target pin, the temporary expression nodes are rolled back and the reason appears in input_warnings.
    • Variable-input nodes that implement UE's native add-pin interface can grow before BlueCode writes values, such as value("Make Array", 0=First, 1=Second, 2=Third) or multi-input math nodes. Array-style pins accept either [0] or 0.
    • Format Text is preconfigured from its Format pin before the rest of the inputs are applied, so value("Format Text", Format="Hello {Name}", Name=PlayerName) can generate the Name argument pin.
    • Treat input_warnings as write feedback that must be read and handled; warnings mean part of the requested semantic write did not map cleanly.
    • Add alias=Name inside bluecode_apply statements, or pass node_aliases, when newly created nodes must be referenced later. Pass the returned aliases map into bluecode_connect and use Name:Pin endpoints.
    • Treat each successful bluecode_apply.operations[].result as immediate context for the next operation: it returns nodeId/node_id, node title/class, is_exec, pin_counts, and inputs/outputs pin evidence using the same endpoint format as readback hints.
    • Use bluecode_connect only when a complex custom, plugin, or macro node needs explicit pin links that cannot be inferred from bluecode_apply inputs. Treat it as union-only connection append, not as a reconnect/delete tool.
    • For custom, plugin, macro, or ambiguous nodes, call bluecode_search_nodes first and pass its returned handle as an action_handle, or place the returned search result object directly in bluecode_apply.action_hints so signature/category/node_class/node_class_path remain available for fallback matching. Use is_exec to choose node(...) versus value(...); use include_pins=true only when pin_counts is not enough.
    • Delete nodes, variables, or existing pin connections only with bluecode_delete(..., confirm_delete=true). For connection deletes, use {"kind":"connection","source":"NodeA:Then","target":"NodeB:Execute"} or "NodeA:Then -> NodeB:Execute"; if a node pair has multiple links, provide the exact pin names instead of guessing.
    • Treat add_step, prepare_value, connect_data_to_pin, get_function_nodes, delete_node, and delete_variable as backend compatibility tools, not default authoring tools.
  7. Validate with read operations.

    • Use get_widget_tree after structure writes.
    • Use query_widget_properties for precise property checks.
    • Use export_umg_to_json only when that advanced tool is enabled and a full file snapshot is needed.
    • Use save_asset only after the target has passed focused readback checks.
Show full SKILL.md (91 more words)Show less

Blueprint Direction

Treat BlueCode as the default Blueprint MCP direction. The target is semantic/code-like Blueprint read/write, not raw node dumps. Node-level reads should be compressed into intent such as events, variables, calls, branches, bindings, and data dependencies.

Useful reference directions:

  • Code-like Blueprint representations, similar to Blueprint-to-C++ or pseudocode translation.
  • JSON extraction for complete fallback inspection.
  • Compact Markdown/ASCII views only for debug or review, not as the primary protocol.

Validation Commands

powershell
python -m py_compile Resources\Python\UmgMcpServer.py Resources\Python\APITest\Login_Demo_Five_Systems.py Resources\Python\APITest\Umg_Widget_Protocol_Static_Check.py Resources\Python\APITest\Blueprint_Protocol_Static_Check.py Resources\Python\APITest\Animation_Protocol_Static_Check.py Resources\Python\APITest\Sequencer_RenderTransform_Check.py
python Resources\Python\APITest\Umg_Widget_Protocol_Static_Check.py
python Resources\Python\APITest\Blueprint_Protocol_Static_Check.py
python Resources\Python\APITest\Animation_Protocol_Static_Check.py
python Resources\Python\APITest\Material_Protocol_Static_Check.py
python Resources\Python\APITest\Sequencer_RenderTransform_Check.py
python Resources\Python\APITest\Login_Demo_Five_Systems.py

The runtime demo requires Unreal Editor to be open with the UMG MCP bridge listening on the configured host and port.

© winyunq, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in Skills/umg-mcp-authoring of winyunq/UnrealMotionGraphicsMCP.

  • SKILL.md
  • agents/openai.yaml
  • references/login-demo.md

Open the folder on GitHubat commit a0494ef

Compare with similar skills

UMG MCP Authoring next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

UMG MCP Authoring compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
UMG MCP Authoring this skillwinyunq/UnrealMotionGraphicsMCP210—~2.6kAutomated safety check: PassMIT
Unreal Blueprint Authoringflopperam/unreal-engine-mcp1.1k—~1.6kAutomated safety check: PassNone
Unreal Engine MCPEpicGames/unreal-engine-skills-for-claude-code-plugin338—~1.8kAutomated safety check: PassMIT
Unreal Scene Buildingflopperam/unreal-engine-mcp1.1k—~1.4kAutomated safety check: PassNone
Unreal Engine MCP Overviewflopperam/unreal-engine-mcp1.1k—~1.7kAutomated safety check: PassNone
Vibeuekevinpbuckley/VibeUE730—~5.2kAutomated safety check: PassMIT

Similar skills

  • Unreal Blueprint Authoring

    flopperam/unreal-engine-mcp

    Walks an agent through creating and editing Unreal Engine Blueprints with the Flopperam MCP's bp_* tools, from inspection to commit and verification.

    1.1k GitHub stars~1.6k tokensUpdated 3 mo ago
    Game DevelopmentAuto-check passed
  • Unreal Engine MCP

    EpicGames/unreal-engine-skills-for-claude-code-plugin

    Drives a live Unreal Editor through the unreal-mcp server: spawn actors, edit Blueprints, materials and sequences, change properties and trigger Live Coding.

    338 GitHub stars~1.8k tokensUpdated 24 days ago
    Game DevelopmentAuto-check passed
  • Unreal Scene Building

    flopperam/unreal-engine-mcp

    Guides scene and world building in Unreal Engine through the Flopperam MCP: placing actors, sculpting landscapes, scattering foliage, editing materials and verifying the level.

    1.1k GitHub stars~1.4k tokensUpdated 3 mo ago
    Game DevelopmentAuto-check passed
  • Unreal Engine MCP Overview

    flopperam/unreal-engine-mcp

    Maps the tools of the Flopperam Unreal Engine MCP server and how to choose among them when working with a live Unreal Editor.

    1.1k GitHub stars~1.7k tokensUpdated 3 mo ago
    Game DevelopmentAuto-check passed
  • Vibeue

    kevinpbuckley/VibeUE

    Unreal Engine 5 development using the VibeUE Python API. An agent skill from kevinpbuckley/VibeUE.

    730 GitHub stars~5.2k tokensUpdated 4 days ago
    Game DevelopmentAuto-check passed
  • Unreal MCP

    Luciole-Studio/Misaka-Agent

    Automate Unreal Engine editor scenes, actors, and renders. An agent skill from Luciole-Studio/Misaka-Agent.

    171 GitHub starsUsed in 1 repo~3.5k tokens
    Game DevelopmentAuto-check passed

More from winyunq/UnrealMotionGraphicsMCP

  • UMG Material MCP

    winyunq/UnrealMotionGraphicsMCP

    Creates, edits and compiles Unreal Engine 5.8 material assets as one HLSL Custom node through the UMG MCP bridge, instead of editing .uasset files directly.

    210 GitHub stars~913 tokensUpdated 2 mo ago
    Auto-check passed

Questions about UMG MCP Authoring

What does UMG MCP Authoring do?

Builds and edits Unreal Engine UMG interfaces through the Unreal Motion Graphics MCP, covering widget trees, HLSL materials, Sequencer animations and readback checks. uasset files directly or bypassing MCP with raw socket scripts. Work starts by setting the target asset with set_target_umg_asset, which creates a WidgetBlueprint when given a missing /Game path, while set_target_widget is used only for operations meant to be scoped to one widget.

When should I use UMG MCP Authoring?

UMG MCP Authoring fits situations like: creating a new widget blueprint and laying out its widget tree; writing widget properties and bulk layouts through MCP tools; adding HLSL-backed materials to UI; animating widgets with Sequencer and verifying by readback.

How do I install UMG MCP Authoring in Claude Code?

Run `npx skills add winyunq/UnrealMotionGraphicsMCP --skill umg-mcp-authoring -a claude-code`. Or copy the skill folder (Skills/umg-mcp-authoring in winyunq/UnrealMotionGraphicsMCP) into .claude/skills/umg-mcp-authoring in your project. Claude Code loads it when a task matches its description.

How do I install UMG MCP Authoring in Codex?

Run `npx skills add winyunq/UnrealMotionGraphicsMCP --skill umg-mcp-authoring -a codex`. Or copy the skill folder (Skills/umg-mcp-authoring in winyunq/UnrealMotionGraphicsMCP) into .agents/skills/umg-mcp-authoring in your project. Codex loads it when a task matches its description.

Can I use UMG MCP Authoring in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add winyunq/UnrealMotionGraphicsMCP --skill umg-mcp-authoring -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/umg-mcp-authoring, .gemini/skills/umg-mcp-authoring, .github/skills/umg-mcp-authoring and .opencode/skills/umg-mcp-authoring in your project.

What does UMG MCP Authoring need to run?

Going by SKILL.md and its folder, UMG MCP Authoring needs the command-line tools its instructions call (python). Our summary lists: Unreal Engine 5.8 with the Unreal Motion Graphics MCP (FabUmgMcp) running.

Does UMG MCP Authoring access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is UMG MCP Authoring safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does UMG MCP Authoring use?

UMG MCP Authoring is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does UMG MCP Authoring use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 736 tokens, read only when the agent opens those files.

What are the alternatives to UMG MCP Authoring?

Skills that share tags, products or a category with UMG MCP Authoring: Unreal Blueprint Authoring (flopperam/unreal-engine-mcp, 1.1k stars), Unreal Engine MCP (EpicGames/unreal-engine-skills-for-claude-code-plugin, 338 stars), Unreal Scene Building (flopperam/unreal-engine-mcp, 1.1k stars) and Unreal Engine MCP Overview (flopperam/unreal-engine-mcp, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains UMG MCP Authoring?

winyunq (a GitHub user) maintains it in winyunq/UnrealMotionGraphicsMCP, which has 210 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on August 2, 2026.

Source: winyunq/UnrealMotionGraphicsMCP on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.