Agent skill

Unreal Actor Editing

by Italink in Italink/UnrealClientProtocol

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

MITAuto-check passedGame Development

Install Unreal Actor Editing

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

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

GitHub CLI
$ gh skill install Italink/UnrealClientProtocol unreal-actor-editing --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-actor-editing .claude/skills/unreal-actor-editing && 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-actor-editing
GitHub stars
127
Token cost
~3.4k tokens
SKILL.md length
821 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
MIT

At a glance

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

  • The user asks to spawn
  • SKILL.md covers Engine Built-in Actor Libraries, Layer Management…, Actor Grouping… and Actor Folders (on Actor…, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Otherwise manipulate actors in the Unreal Engine editor

What it does

Unreal Actor Editing is an agent skill from Italink/UnrealClientProtocol. Manage actors in UE levels via UCP. Use when the user asks to spawn, delete, move, duplicate, select, or otherwise manipulate actors in the Unreal Engine editor.

Its SKILL.md is about 3.4k 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. It works with Unreal Engine. 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

  • The user asks to spawn
  • Otherwise manipulate actors in the Unreal Engine editor

Example prompts

  • “/unreal-actor-editing”

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 Actor Editing loads about 3.4k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 821 words of instructions outside code blocks.

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

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). 821 words, ~3,373 tokens.

Download SKILL.mdSave it as .claude/skills/unreal-actor-editing/SKILL.md (or your agent's skills folder).
name
unreal-actor-editing
description
Manage actors in UE levels via UCP. Use when the user asks to spawn, delete, move, duplicate, select, or otherwise manipulate actors in the Unreal Engine editor.

Unreal Actor Editing

Manage actors in Unreal Engine levels through UCP's call command. This skill guides you to use engine-provided actor subsystems and libraries.

Prerequisite: The unreal-client-protocol skill must be available and the UE editor must be running with the UCP plugin enabled.

Engine Built-in Actor Libraries

UEditorActorSubsystem

CDO Path: /Script/UnrealEd.Default__EditorActorSubsystem

This is the primary API for actor manipulation in the editor:

FunctionDescription
GetAllLevelActors()Get all actors in the current level
GetAllLevelActorsOfClass(ActorClass)Get all actors of a specific class
GetSelectedLevelActors()Get currently selected actors
SetSelectedLevelActors(ActorsToSelect)Set actor selection
SelectNothing()Deselect all actors
SpawnActorFromClass(ActorClass, Location, Rotation)Spawn a new actor
SpawnActorFromObject(ObjectToUse, Location, Rotation)Spawn from an existing asset
DuplicateActor(ActorToDuplicate, ToWorld, Offset)Duplicate an actor
DuplicateActors(ActorsToDuplicate, ToWorld, Offset)Duplicate multiple actors
DestroyActor(ActorToDestroy)Delete an actor
DestroyActors(ActorsToDestroy)Delete multiple actors
SetActorTransform(Actor, WorldTransform)Set actor transform
ConvertActors(Actors, ActorClass)Convert actors to a different class
Examples

Get all actors in level:

json
{"object":"/Script/UnrealEd.Default__EditorActorSubsystem","function":"GetAllLevelActors"}

Get all static mesh actors:

json
{"object":"/Script/UnrealEd.Default__EditorActorSubsystem","function":"GetAllLevelActorsOfClass","params":{"ActorClass":"/Script/Engine.StaticMeshActor"}}

Spawn a point light:

json
{"object":"/Script/UnrealEd.Default__EditorActorSubsystem","function":"SpawnActorFromClass","params":{"ActorClass":"/Script/Engine.PointLight","Location":{"X":0,"Y":0,"Z":200}}}

Destroy an actor:

json
{"object":"/Script/UnrealEd.Default__EditorActorSubsystem","function":"DestroyActor","params":{"ActorToDestroy":"/Game/Maps/Main.Main:PersistentLevel.PointLight_0"}}
UGameplayStatics

CDO Path: /Script/Engine.Default__GameplayStatics

Useful for runtime/game queries:

FunctionDescription
GetAllActorsOfClass(WorldContextObject, ActorClass)Find actors by class
GetAllActorsWithTag(WorldContextObject, Tag)Find actors by tag
GetAllActorsOfClassWithTag(WorldContextObject, ActorClass, Tag)Combined class + tag filter
GetAllActorsWithInterface(WorldContextObject, Interface)Find actors implementing an interface
GetActorOfClass(WorldContextObject, ActorClass)Get first actor of class
FindNearestActor(WorldContextObject, Origin, ActorClass)Find nearest actor of class to a location
GetActorArrayAverageLocation(Actors)Get average location of an array of actors
GetActorArrayBounds(Actors, bOnlyCollidingComponents)Get combined bounds of an array of actors
GetPlayerPawn(WorldContextObject, PlayerIndex)Get player pawn
GetPlayerController(WorldContextObject, PlayerIndex)Get player controller
GetPlayerCameraManager(WorldContextObject, PlayerIndex)Get camera manager
UEditorLevelLibrary

CDO Path: /Script/EditorScriptingUtilities.Default__EditorLevelLibrary

Unique level editing functions not covered by UEditorActorSubsystem:

FunctionDescription
JoinStaticMeshActors(ActorsToJoin, JoinOptions)Merge static meshes into one
ReplaceSelectedActors(InAssetPath)Replace selected actors with given asset
GetPIEWorlds()Get worlds from Play-In-Editor sessions

Layer Management (ULayersSubsystem)

Get the instance via FindObjectInstances with ClassName set to /Script/UnrealEd.LayersSubsystem.

FunctionDescription
CreateLayer(LayerName)Create a new layer
DeleteLayer(LayerToDelete)Delete a layer
RenameLayer(OriginalLayerName, NewLayerName)Rename a layer
AddActorToLayer(Actor, LayerName)Add a single actor to a layer
RemoveActorFromLayer(Actor, LayerName)Remove a single actor from a layer
AddActorsToLayer(Actors, LayerName)Add multiple actors to a layer
GetActorsFromLayer(LayerName)Get all actors in a layer
SetLayerVisibility(LayerName, bIsVisible)Show/hide a layer
SelectActorsInLayer(LayerName)Select all actors in a layer
AddAllLayerNamesTo(OutLayers)Get all layer names
Examples

Find the LayersSubsystem instance:

json
{"object":"/Script/UnrealClientProtocol.Default__ObjectOperationLibrary","function":"FindObjectInstances","params":{"ClassName":"/Script/UnrealEd.LayersSubsystem"}}

Create a layer (use the instance path returned above):

json
{"object":"<layers_subsystem_instance_path>","function":"CreateLayer","params":{"LayerName":"Lighting"}}

Add an actor to a layer:

json
{"object":"<layers_subsystem_instance_path>","function":"AddActorToLayer","params":{"Actor":"/Game/Maps/Main.Main:PersistentLevel.PointLight_0","LayerName":"Lighting"}}

Actor Grouping (UActorGroupingUtils)

Get the CDO at /Script/UnrealEd.Default__ActorGroupingUtils, then call Get() on it to obtain the singleton instance.

FunctionDescription
GroupActors(Actors)Group specified actors
UngroupActors(Actors)Ungroup specified actors
GroupSelected()Group currently selected actors
UngroupSelected()Ungroup currently selected actors
LockSelectedGroups()Lock selected groups
UnlockSelectedGroups()Unlock selected groups
CanGroupActors()Check if current selection can be grouped
Examples

Get the grouping utils instance:

json
{"object":"/Script/UnrealEd.Default__ActorGroupingUtils","function":"Get"}

Group selected actors (use the instance returned by Get):

json
{"object":"<actor_grouping_utils_instance_path>","function":"GroupSelected"}

Actor Folders (on Actor instances)

Functions called directly on actor instance paths:

FunctionDescription
GetFolderPath()Get the actor's folder path in the outliner
SetFolderPath(NewFolderPath)Set the actor's folder path in the outliner
Examples

Get an actor's folder:

json
{"object":"/Game/Maps/Main.Main:PersistentLevel.PointLight_0","function":"GetFolderPath"}

Move an actor into a folder:

json
{"object":"/Game/Maps/Main.Main:PersistentLevel.PointLight_0","function":"SetFolderPath","params":{"NewFolderPath":"Lighting/Dynamic"}}
Show full SKILL.md (329 more words)Show less

Actor Attachment (on Actor instances)

Functions called directly on actor instance paths:

FunctionDescription
K2_AttachToActor(ParentActor, SocketName, LocationRule, RotationRule, ScaleRule, bWeldSimulatedBodies)Attach this actor to a parent actor
K2_DetachFromActor(LocationRule, RotationRule, ScaleRule)Detach this actor from its parent

Rules are EAttachmentRule values: KeepRelative, KeepWorld, SnapToTarget.

Examples

Attach an actor to another:

json
{"object":"/Game/Maps/Main.Main:PersistentLevel.Cube_0","function":"K2_AttachToActor","params":{"ParentActor":"/Game/Maps/Main.Main:PersistentLevel.Sphere_0","SocketName":"None","LocationRule":"KeepWorld","RotationRule":"KeepWorld","ScaleRule":"KeepWorld","bWeldSimulatedBodies":false}}

Detach an actor:

json
{"object":"/Game/Maps/Main.Main:PersistentLevel.Cube_0","function":"K2_DetachFromActor","params":{"LocationRule":"KeepWorld","RotationRule":"KeepWorld","ScaleRule":"KeepWorld"}}

Level Management (ULevelEditorSubsystem + UEditorLevelUtils)

ULevelEditorSubsystem

Get the instance via FindObjectInstances with ClassName set to /Script/LevelEditor.LevelEditorSubsystem.

FunctionDescription
NewLevel(AssetPath)Create a new level
NewLevelFromTemplate(AssetPath, TemplatePath)Create a new level from template
LoadLevel(AssetPath)Load a level
SaveCurrentLevel()Save the current level
SaveAllDirtyLevels()Save all modified levels
SetCurrentLevelByName(LevelName)Switch current level
GetCurrentLevel()Get the current level
PilotLevelActor(ActorToPilot)Pilot an actor in the viewport
EjectPilotLevelActor()Stop piloting an actor
Examples

Find the LevelEditorSubsystem instance:

json
{"object":"/Script/UnrealClientProtocol.Default__ObjectOperationLibrary","function":"FindObjectInstances","params":{"ClassName":"/Script/LevelEditor.LevelEditorSubsystem"}}

Save the current level:

json
{"object":"<level_editor_subsystem_instance_path>","function":"SaveCurrentLevel"}
UEditorLevelUtils

CDO Path: /Script/UnrealEd.Default__EditorLevelUtils

FunctionDescription
CreateNewStreamingLevel(LevelStreamingClass, NewLevelPath, bMoveSelectedActors)Create a new streaming level
MoveActorsToLevel(ActorsToMove, DestLevel, bWarnAboutReferences, bWarnAboutRenaming)Move actors to another level
K2_AddLevelToWorld(World, LevelPath, LevelStreamingClass)Add a sub-level to the world
K2_RemoveLevelFromWorld(Level)Remove a sub-level from the world
SetLevelVisibility(Level, bShouldBeVisible, bForceLayersVisible)Show/hide a level
GetLevels(World)Get all levels in a world

Viewport & Camera (UUnrealEditorSubsystem)

Get the instance via FindObjectInstances with ClassName set to /Script/UnrealEd.UnrealEditorSubsystem.

FunctionDescription
GetLevelViewportCameraInfo(OutCameraLocation, OutCameraRotation)Get the viewport camera position and rotation
SetLevelViewportCameraInfo(CameraLocation, CameraRotation)Set the viewport camera position and rotation
GetEditorWorld()Get the current editor world
ScreenToWorld(ScreenPosition)Convert screen coordinates to world coordinates
WorldToScreen(WorldPosition)Convert world coordinates to screen coordinates

Also available via UEditorUtilityLibrary:

CDO Path: /Script/Blutility.Default__EditorUtilityLibrary

FunctionDescription
GetSelectionBounds(Origin, BoxExtent, SphereRadius)Get bounding info of the current selection
Examples

Find the UnrealEditorSubsystem instance:

json
{"object":"/Script/UnrealClientProtocol.Default__ObjectOperationLibrary","function":"FindObjectInstances","params":{"ClassName":"/Script/UnrealEd.UnrealEditorSubsystem"}}

Get viewport camera info:

json
{"object":"<unreal_editor_subsystem_instance_path>","function":"GetLevelViewportCameraInfo"}

Set viewport camera position:

json
{"object":"<unreal_editor_subsystem_instance_path>","function":"SetLevelViewportCameraInfo","params":{"CameraLocation":{"X":0,"Y":0,"Z":500},"CameraRotation":{"Pitch":-45,"Yaw":0,"Roll":0}}}

Get selection bounds:

json
{"object":"/Script/Blutility.Default__EditorUtilityLibrary","function":"GetSelectionBounds"}

Common Patterns

Discover and inspect actors

First get all actors, then inspect a specific actor (run as separate calls):

json
{"object":"/Script/UnrealEd.Default__EditorActorSubsystem","function":"GetAllLevelActors"}
json
{"object":"/Script/UnrealClientProtocol.Default__ObjectOperationLibrary","function":"GetObjectProperty","params":{"ObjectPath":"<actor_path>","PropertyName":"RelativeLocation"}}
Move an actor

Use the unreal-object-operation skill to set properties on the actor's root component:

json
{"object":"/Script/UnrealClientProtocol.Default__ObjectOperationLibrary","function":"SetObjectProperty","params":{"ObjectPath":"<actor_root_component_path>","PropertyName":"RelativeLocation","JsonValue":"{\"X\":100,\"Y\":200,\"Z\":0}"}}
Spawn, position, and select

Spawn an actor, then get selection (run as separate calls):

json
{"object":"/Script/UnrealEd.Default__EditorActorSubsystem","function":"SpawnActorFromClass","params":{"ActorClass":"/Script/Engine.PointLight","Location":{"X":0,"Y":0,"Z":300}}}
json
{"object":"/Script/UnrealEd.Default__EditorActorSubsystem","function":"GetSelectedLevelActors"}
Organize actors into folders
json
{"object":"/Script/UnrealEd.Default__EditorActorSubsystem","function":"GetAllLevelActorsOfClass","params":{"ActorClass":"/Script/Engine.PointLight"}}

Then set folder paths on each returned actor:

json
{"object":"/Game/Maps/Main.Main:PersistentLevel.PointLight_0","function":"SetFolderPath","params":{"NewFolderPath":"Lighting"}}
Attach actors together
json
{"object":"/Game/Maps/Main.Main:PersistentLevel.ChildActor_0","function":"K2_AttachToActor","params":{"ParentActor":"/Game/Maps/Main.Main:PersistentLevel.ParentActor_0","SocketName":"None","LocationRule":"KeepWorld","RotationRule":"KeepWorld","ScaleRule":"KeepWorld","bWeldSimulatedBodies":false}}

© 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-actor-editing of Italink/UnrealClientProtocol.

Open the folder on GitHubat commit 7f0a56e

Compare with similar skills

Unreal Actor Editing 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 Actor Editing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Unreal Actor Editing this skillItalink/UnrealClientProtocol127—~3.4kAutomated safety check: PassMIT
Unreal BridgeTornLux/UnrealBridge306—~8.4kAutomated safety check: NotesMIT
Unreal Blueprint Authoringflopperam/unreal-engine-mcp1.1k—~1.6kAutomated safety check: PassNone
UMG Material MCPwinyunq/UnrealMotionGraphicsMCP210—~913Automated safety check: PassMIT
Unreal Animation Bone Editorkevinpbuckley/VibeUE730—~1.3kAutomated safety check: PassMIT
Unreal Engine MCPEpicGames/unreal-engine-skills-for-claude-code-plugin338—~1.8kAutomated safety check: PassMIT

Similar skills

  • Unreal Bridge

    TornLux/UnrealBridge

    Execute Python scripts inside a running Unreal Engine 5.3+ editor via TCP bridge.

    306 GitHub stars~8.4k tokensUpdated 10 days ago
    Game DevelopmentAuto-check: notes
  • 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
  • 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
    Game DevelopmentAuto-check passed
  • Unreal Animation Bone Editor

    kevinpbuckley/VibeUE

    Previews, validates and bakes bone-rotation edits on Unreal Engine AnimSequences, enforcing a coordinate space and a constraint-checked preview-validate-bake loop.

    730 GitHub stars~1.3k tokensUpdated 3 days 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

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 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
  • Unreal Material Editing

    Italink/UnrealClientProtocol

    Edit UE material node graphs and properties via text (ReadGraph/WriteGraph).

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

Works with

Questions about Unreal Actor Editing

What does Unreal Actor Editing do?

Manage actors in UE levels via UCP. An agent skill from Italink/UnrealClientProtocol. Unreal Actor Editing is an agent skill from Italink/UnrealClientProtocol. Manage actors in UE levels via UCP.

When should I use Unreal Actor Editing?

Unreal Actor Editing fits situations like: the user asks to spawn; otherwise manipulate actors in the Unreal Engine editor.

How do I install Unreal Actor Editing in Claude Code?

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

How do I install Unreal Actor Editing in Codex?

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

Can I use Unreal Actor Editing 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-actor-editing -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-actor-editing, .gemini/skills/unreal-actor-editing, .github/skills/unreal-actor-editing and .opencode/skills/unreal-actor-editing in your project.

What does Unreal Actor Editing need to run?

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

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

Unreal Actor Editing 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 Actor Editing use?

About 3.4k tokens (SKILL.md is roughly 13k 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 Actor Editing?

Skills that share tags, products or a category with Unreal Actor Editing: Unreal Bridge (TornLux/UnrealBridge, 306 stars), Unreal Blueprint Authoring (flopperam/unreal-engine-mcp, 1.1k stars), UMG Material MCP (winyunq/UnrealMotionGraphicsMCP, 210 stars) and Unreal Animation Bone Editor (kevinpbuckley/VibeUE, 730 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Unreal Actor Editing?

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.