Agent skill

Unreal Modeling

by Italink in Italink/UnrealClientProtocol

通过 GeometryScript + UCP 进行程序化网格建模。当用户要求创建、修改、修复、简化、UV、布尔、变形或以其他方式处理网格时使用。

MITAuto-check passedGame Development

Install Unreal Modeling

skills CLI
$ npx skills add Italink/UnrealClientProtocol --skill unreal-modeling -a claude-code

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

GitHub CLI
$ gh skill install Italink/UnrealClientProtocol unreal-modeling --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/Italink/UnrealClientProtocol.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Skills/unreal-modeling .claude/skills/unreal-modeling && 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
unreal-modeling
GitHub stars
127
Token cost
~2k tokens
SKILL.md length
281 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
MIT

At a glance

通过 GeometryScript + UCP 进行程序化网格建模。当用户要求创建、修改、修复、简化、UV、布尔、变形或以其他方式处理网格时使用。

  • Works in 6 steps: 先创建再操作:调用 GeometryScript 前必须有… → 用完即释放:调用 ReleaseDynamicMesh 避免临时对象堆积 → 原地修改:多数 GeometryScript 函数原地修改 mesh… → …
  • Tasks that involve Game development
  • SKILL.md covers MeshOperationLibrary, 直接调用 GeometryScript, 标准工作流 and GeometryScript 库索引, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Unreal Modeling is an agent skill from Italink/UnrealClientProtocol. 通过 GeometryScript + UCP 进行程序化网格建模。当用户要求创建、修改、修复、简化、UV、布尔、变形或以其他方式处理网格时使用。

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Game Development, covering Game development. The repository describes itself as: Lightweight UE5 plugin that exposes Unreal Engine's reflection system over TCP+JSON — let AI agents call UFunctions, read/write UProperties, and inspect any UObject in a running… The licence is MIT.

When your agent uses it

  • Tasks that involve Game development

Example prompts

  • “/unreal-modeling”

Workflow steps

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

  1. 先创建再操作:调用 GeometryScript 前必须有 DynamicMesh(通过 CreateDynamicMesh 或 CopyFromStaticMesh 获取)
  2. 用完即释放:调用 ReleaseDynamicMesh 避免临时对象堆积
  3. 原地修改:多数 GeometryScript 函数原地修改 mesh 并返回同一个 UDynamicMesh*
  4. Options 可选:USTRUCT Options 参数有合理默认值,只传需要覆盖的字段
  5. 不可序列化类型用桥接函数:当 GeometryScript 函数需要 FGeometryScriptMeshSelection、FGeometryScriptIndexList、FGeometryScriptPolyPath 等类型时,用…
  6. 用 DescribeObject 探索:对任意 GeometryScript CDO 调用 DescribeObject 可查看完整函数列表和签名

What it can do on your machine

Read from SKILL.md and the folder at commit 7f0a56e. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json).

    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

Unreal Modeling loads about 2k tokens when it runs. Until then it costs about 22 tokens; SKILL.md has 281 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~22
When it runs · the whole SKILL.md, loaded when a task matches
~2k

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 Italink/UnrealClientProtocol at commit 7f0a56e, republished under its MIT licence (© Italink). 281 words, ~1,981 tokens.

Download SKILL.mdSave it as .claude/skills/unreal-modeling/SKILL.md (or your agent's skills folder).
name
unreal-modeling
description
通过 GeometryScript + UCP 进行程序化网格建模。当用户要求创建、修改、修复、简化、UV、布尔、变形或以其他方式处理网格时使用。

网格建模

建模通过两条路径完成:MeshOperationLibrary(生命周期管理 + 类型桥接)和 GeometryScript 原生库(600+ 函数,通过 UCP 通用 call 直接调用)。

前置条件:UE 编辑器运行中,UCP 插件已启用。传输层规则见 unreal-client-protocol。

MeshOperationLibrary

CDO:/Script/UnrealClientProtocolEditor.Default__MeshOperationLibrary

生命周期
函数参数说明
CreateDynamicMesh—创建空的临时 DynamicMesh,返回对象路径
ReleaseDynamicMeshMesh标记 mesh 等待 GC 回收
ReleaseAllDynamicMeshes—释放所有已跟踪的 mesh
ListDynamicMeshes—列出所有已跟踪 mesh 的路径
摘要
函数参数说明
GetMeshSummaryTargetMesh返回 JSON:vertexCount、triangleCount、uvSetCount、bounds、hasNormals、hasVertexColors、hasMaterialIDs、hasPolygroups、isClosed、isDense
资产读写
函数参数说明
CopyFromStaticMeshTargetMesh, SourceStaticMesh将 StaticMesh 加载到 DynamicMesh(默认选项)
CopyToStaticMeshSourceMesh, TargetStaticMesh将 DynamicMesh 写回已有 StaticMesh
CopyToNewStaticMeshAssetSourceMesh, AssetPath创建新 StaticMesh 资产,返回资产路径
Selection 桥接

GeometryScript 的 FGeometryScriptMeshSelection 内部使用不可序列化的 TSharedPtr 存储数据,无法通过 JSON 传递。以下函数从可序列化的输入创建 Selection:

函数参数说明
SelectAllTrianglesTargetMesh选择全部三角形
SelectTrianglesByIDsTargetMesh, TriangleIDs(int 数组)按 ID 选择三角形
SelectVerticesByIDsTargetMesh, VertexIDs(int 数组)按 ID 选择顶点
SelectPolygroupByIDTargetMesh, PolygroupID, GroupLayer按 Polygroup 选择
SelectMaterialByIDTargetMesh, MaterialID按材质 ID 选择
GetSelectionIDsSelection从 Selection 提取 ID 数组
数据类型桥接

GeometryScript 的列表类型(FGeometryScriptIndexList、FGeometryScriptVectorList 等)将数据存储在不可序列化的 TSharedPtr<TArray<...>> 中。用 Make* 从数组创建,用 Get*Array 提取:

Make 函数Get 函数桥接类型
MakeIndexList(Indices, IndexType)GetIndexListArrayFGeometryScriptIndexList
MakeVectorList(Vectors)GetVectorListArrayFGeometryScriptVectorList
MakePolyPath(Points, bClosedLoop)GetPolyPathArrayFGeometryScriptPolyPath
MakeSimplePolygon(Vertices)GetSimplePolygonArrayFGeometryScriptSimplePolygon
MakeColorList(Colors)GetColorListArrayFGeometryScriptColorList
MakeUVList(UVs)GetUVListArrayFGeometryScriptUVList
MakeScalarList(Scalars)GetScalarListArrayFGeometryScriptScalarList
MakeTriangleList(Triangles)GetTriangleListArrayFGeometryScriptTriangleList

直接调用 GeometryScript

GeometryScript 函数是标准的 BlueprintCallable 静态函数,通过 UCP 通用 call + CDO 路径调用。

CDO 路径格式
/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_<类名>

示例:/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshRepairFunctions

参数规则
  • UDynamicMesh*:传路径字符串,如 "/Engine/Transient.DynamicMesh_0"
  • USTRUCT Options:传 JSON 对象,只写需要覆盖的字段,省略的字段使用默认值
  • UENUM:传字符串,即枚举值名,如 "Automatic"、"AttributeAware"
  • out 参数(如 Outcome、NumFilledHoles):输入时省略,结果中自动返回
  • Debug:省略(默认 nullptr)
  • WorldContextObject:UCP 自动注入
返回值

多数 GeometryScript 函数返回 UDynamicMesh*(同一个对象,原地修改)。响应中包含 mesh 路径和所有 out 参数。

标准工作流

示例 1:加载 → 简化 → 写回
json
// 1. 创建工作 mesh
{"object":"/Script/UnrealClientProtocolEditor.Default__MeshOperationLibrary","function":"CreateDynamicMesh"}

// 2. 从 StaticMesh 加载
{"object":"/Script/UnrealClientProtocolEditor.Default__MeshOperationLibrary","function":"CopyFromStaticMesh","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0","SourceStaticMesh":"/Game/Meshes/SM_Rock.SM_Rock"}}

// 3. 简化到 5000 三角形
{"object":"/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshSimplifyFunctions","function":"ApplySimplifyToTriangleCount","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0","TriangleCount":5000,"Options":{"Method":"AttributeAware"}}}

// 4. 写回
{"object":"/Script/UnrealClientProtocolEditor.Default__MeshOperationLibrary","function":"CopyToStaticMesh","params":{"SourceMesh":"/Engine/Transient.DynamicMesh_0","TargetStaticMesh":"/Game/Meshes/SM_Rock.SM_Rock"}}

// 5. 释放
{"object":"/Script/UnrealClientProtocolEditor.Default__MeshOperationLibrary","function":"ReleaseDynamicMesh","params":{"Mesh":"/Engine/Transient.DynamicMesh_0"}}
示例 2:创建图元 → 保存为新资产
json
// 1. 创建 mesh
{"object":"/Script/UnrealClientProtocolEditor.Default__MeshOperationLibrary","function":"CreateDynamicMesh"}

// 2. 追加 Box 图元
{"object":"/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshPrimitiveFunctions","function":"AppendBox","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0","PrimitiveOptions":{},"DimensionX":100,"DimensionY":100,"DimensionZ":100}}

// 3. 自动生成 UV
{"object":"/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshUVFunctions","function":"AutoGenerateXAtlasMeshUVs","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0","UVSetIndex":0,"Options":{}}}

// 4. 保存为新资产
{"object":"/Script/UnrealClientProtocolEditor.Default__MeshOperationLibrary","function":"CopyToNewStaticMeshAsset","params":{"SourceMesh":"/Engine/Transient.DynamicMesh_0","AssetPath":"/Game/Generated/SM_Box"}}

// 5. 释放
{"object":"/Script/UnrealClientProtocolEditor.Default__MeshOperationLibrary","function":"ReleaseDynamicMesh","params":{"Mesh":"/Engine/Transient.DynamicMesh_0"}}
示例 3:布尔合并
json
// 1-2. 创建两个 mesh 并填充(CreateDynamicMesh + AppendSphere / AppendBox)

// 3. 布尔合并
{"object":"/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshBooleanFunctions","function":"ApplyMeshBoolean","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0","TargetTransform":{"Rotation":{"X":0,"Y":0,"Z":0,"W":1},"Translation":{"X":0,"Y":0,"Z":0},"Scale3D":{"X":1,"Y":1,"Z":1}},"ToolMesh":"/Engine/Transient.DynamicMesh_1","ToolTransform":{"Rotation":{"X":0,"Y":0,"Z":0,"W":1},"Translation":{"X":50,"Y":0,"Z":0},"Scale3D":{"X":1,"Y":1,"Z":1}},"BooleanOperation":"Union","Options":{}}}

// 4. 释放 mesh B
{"object":"/Script/UnrealClientProtocolEditor.Default__MeshOperationLibrary","function":"ReleaseDynamicMesh","params":{"Mesh":"/Engine/Transient.DynamicMesh_1"}}

GeometryScript 库索引

每个库对应一个域 Skill,包含完整的函数签名、Options 结构体字段、枚举值和 JSON 示例:

域 Skill覆盖的库
unreal-modeling-primitivesMeshPrimitiveFunctions、MeshModelingFunctions、PolyPathFunctions、SimplePolygonFunctions、PolygonListFunctions
unreal-modeling-meshopsMeshRepairFunctions、MeshSimplifyFunctions、RemeshingFunctions、MeshBooleanFunctions、MeshVoxelFunctions、MeshDecompositionFunctions、MeshBasicEditFunctions、MeshSubdivideFunctions、OpenSubdivFunctions
unreal-modeling-uvMeshUVFunctions
unreal-modeling-normalsMeshNormalsFunctions
unreal-modeling-deformMeshDeformFunctions、MeshTransformFunctions
unreal-modeling-queryMeshQueryFunctions、MeshSpatialFunctions、MeshSamplingFunctions、ContainmentFunctions、MeshComparisonFunctions、MeshGeodesicFunctions
unreal-modeling-selectionMeshSelectionFunctions
unreal-modeling-attributesMeshVertexColorFunctions、MeshPolygroupFunctions、MeshMaterialFunctions
unreal-modeling-assetStaticMeshFunctions、CreateNewAssetFunctions、CollisionFunctions、EditorDynamicMeshFunctions

关键规则

  1. 先创建再操作:调用 GeometryScript 前必须有 DynamicMesh(通过 CreateDynamicMesh 或 CopyFromStaticMesh 获取)
  2. 用完即释放:调用 ReleaseDynamicMesh 避免临时对象堆积
  3. 原地修改:多数 GeometryScript 函数原地修改 mesh 并返回同一个 UDynamicMesh*
  4. Options 可选:USTRUCT Options 参数有合理默认值,只传需要覆盖的字段
  5. 不可序列化类型用桥接函数:当 GeometryScript 函数需要 FGeometryScriptMeshSelection、FGeometryScriptIndexList、FGeometryScriptPolyPath 等类型时,用 MeshOperationLibrary 的桥接函数从普通数组创建
  6. 用 DescribeObject 探索:对任意 GeometryScript CDO 调用 DescribeObject 可查看完整函数列表和签名

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

Files

Just SKILL.md in Skills/unreal-modeling of Italink/UnrealClientProtocol.

Open the folder on GitHubat commit 7f0a56e

Compare with similar skills

Unreal Modeling 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.

Unreal Modeling compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Unreal Modeling this skillItalink/UnrealClientProtocol127—~2kAutomated safety check: PassMIT
Godot Gdscript Patterns925236118/AlphaAgent10310 repos~5kAutomated safety check: PassMIT
Sprite Genaldegad/sprite-gen2.7k—~4.9kAutomated safety check: PassApache-2.0
2D Map and Scene Generator0x0funky/agent-sprite-forge4.4k—~2.9kAutomated safety check: PassMIT
Fantasy Framework Development Guideqq362946/Fantasy1.4k—~5.8kAutomated safety check: PassCustom licence
Dev StoryDonchitos/Claude-Code-Game-Studios26k—~2.4kAutomated safety check: NotesMIT

Similar skills

  • Godot Gdscript Patterns

    925236118/AlphaAgent

    Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.

    103 GitHub starsUsed in 10 repos~5k tokens
    Game DevelopmentAuto-check passed
  • Sprite Gen

    aldegad/sprite-gen

    Generates images and game sprites through GPT or Grok with guided provider choices, separate saved defaults, automatic cleanup and optional curation.

    2.7k GitHub stars~4.9k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • 2D Map and Scene Generator

    0x0funky/agent-sprite-forge

    Plans and builds 2D game maps and scenes, from tilemaps and parallax backgrounds to HD-2D plates, with collision checks, a playable HTML preview and Tiled, Godot or LDtk export.

    4.4k GitHub stars~2.9k tokensUpdated 4 days ago
    Game DevelopmentAuto-check passed
  • Development and review guide for the Fantasy C# distributed game server framework: ECS, FTask, routing, service discovery, config and databases.

    1.4k GitHub stars~5.8k tokensUpdated 2 days ago
    Game DevelopmentAuto-check passed
  • Dev Story

    Donchitos/Claude-Code-Game-Studios

    Implement a story: ADR guidelines, right programmer agent, code plus test.

    26k GitHub stars~2.4k tokensUpdated 3 days ago
    Game DevelopmentAuto-check: notes
  • Asset Pipeline

    rehan-remade/universal-modder

    Turn generated or hand-made art into exactly what a game engine loads.

    6.5k GitHub stars~2k tokensUpdated today
    Game DevelopmentAuto-check passed

More from Italink/UnrealClientProtocol

All 24 skills in this repo
  • Unreal Client Protocol

    Italink/UnrealClientProtocol

    Interact with the running Unreal Engine editor via TCP bridge.

    127 GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Unreal Actor Editing

    Italink/UnrealClientProtocol

    Manage actors in UE levels via UCP. An agent skill from Italink/UnrealClientProtocol.

    127 GitHub stars~3.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Unreal Asset Operation

    Italink/UnrealClientProtocol

    Query and manage UE assets via UCP. An agent skill from Italink/UnrealClientProtocol.

    127 GitHub stars~4.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Unreal Blueprint Editing

    Italink/UnrealClientProtocol

    Edit UE Blueprint node graphs via text (ReadGraph/WriteGraph).

    127 GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Unreal Large Blueprint Analysis

    Italink/UnrealClientProtocol

    Systematically analyze and translate large UE Blueprints (10+ functions) into C++ or other targets.

    127 GitHub stars~2.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Unreal Live Coding

    Italink/UnrealClientProtocol

    Trigger Live Coding compilation via UCP. An agent skill from Italink/UnrealClientProtocol.

    127 GitHub stars~1k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Unreal Modeling

What does Unreal Modeling do?

通过 GeometryScript + UCP 进行程序化网格建模。当用户要求创建、修改、修复、简化、UV、布尔、变形或以其他方式处理网格时使用。. Unreal Modeling is an agent skill from Italink/UnrealClientProtocol.

When should I use Unreal Modeling?

Unreal Modeling fits situations like: tasks that involve Game development.

How do I install Unreal Modeling in Claude Code?

Run `npx skills add Italink/UnrealClientProtocol --skill unreal-modeling -a claude-code`. Or copy the skill folder (Skills/unreal-modeling in Italink/UnrealClientProtocol) into .claude/skills/unreal-modeling in your project. Claude Code loads it when a task matches its description.

How do I install Unreal Modeling in Codex?

Run `npx skills add Italink/UnrealClientProtocol --skill unreal-modeling -a codex`. Or copy the skill folder (Skills/unreal-modeling in Italink/UnrealClientProtocol) into .agents/skills/unreal-modeling in your project. Codex loads it when a task matches its description.

Can I use Unreal Modeling 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 Italink/UnrealClientProtocol --skill unreal-modeling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/unreal-modeling, .gemini/skills/unreal-modeling, .github/skills/unreal-modeling and .opencode/skills/unreal-modeling in your project.

What does Unreal Modeling need to run?

SKILL.md names no scripts, command-line tools or credentials: Unreal Modeling is instructions for the agent only.

Does Unreal Modeling 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 Unreal Modeling 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 Unreal Modeling use?

Unreal Modeling 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 Unreal Modeling use?

About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Unreal Modeling?

Skills that share tags, products or a category with Unreal Modeling: Godot Gdscript Patterns (925236118/AlphaAgent, 103 stars), Sprite Gen (aldegad/sprite-gen, 2.7k stars), 2D Map and Scene Generator (0x0funky/agent-sprite-forge, 4.4k stars) and Fantasy Framework Development Guide (qq362946/Fantasy, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Unreal Modeling?

Italink (a GitHub user) maintains it in Italink/UnrealClientProtocol, which has 127 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on August 28, 2026.

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