italink/unrealclientprotocol/unreal-blueprint-editing
Claude Code and agent skill by italink/unrealclientprotocol
- community
Checking that the SKILL.md file is still in the repository.
Edit UE Blueprint node graphs via text (ReadGraph/WriteGraph). Use when the user asks to add, remove, or rewire Blueprint nodes, create/modify functions, events, or variables in a Blueprint graph.
Install
npx vskill@latest install italink/unrealclientprotocol/unreal-blueprint-editingSKILL.md
Blueprint Editing
Edit Blueprint node graphs via a text-based representation. For setting object properties on the Blueprint asset itself, use the unreal-object-operation skill.
Prerequisite: UE editor running with UCP plugin enabled.
Node Graph API
CDO: /Script/UnrealClientProtocolEditor.Default__NodeCodeEditingLibrary
| Function | Params | Description | |
|---|---|---|---|
Outline | AssetPath | Returns available sections (EventGraph, Function:Name, Macro:Name, Variables) | |
ReadGraph | AssetPath, Section | Returns text representation. Empty Section = all sections. | |
WriteGraph | AssetPath, Section, GraphText | Overwrite section. Empty GraphText = delete section. Auto-recompiles. |
Reading Strategy
CRITICAL: Never read all sections at once. Blueprints can have dozens of functions/macros.
- Outline first — get the structure
- Identify relevant sections — based on the task, pick only what you need
- ReadGraph one section at a time — read only what you need
- Summarize before reading more — decide if you need more context
Section Types
| Section Format | Description | |
|---|---|---|
EventGraph | Main event graph | |
Function:<Name> | A function graph | |
Macro:<Name> | A macro graph | |
Variables | Blueprint variable definitions |
Names with spaces use underscores: Function:My_Function.
Text Format
Nodes
N_<id>: node reference ID. Two forms:- Existing nodes:
N_<base62>— a 22-character Base62-encoded GUID (e.g.N_2kVm4xRp8bNw6yLq0dJs). ReadGraph always outputs this form. Preserve these IDs when writing back. - New nodes:
N_new<int>— temporary ID for nodes you are creating (e.g.N_new0,N_new1). The system assigns a real GUID after WriteGraph. <ClassName>: semantic encoding (see below) or raw UE class name{...}: non-default properties, single line. Omit braces if none.
ClassName Encoding
| Text Format | UE Node Type | Example | |
|---|---|---|---|
CallFunction:<Class>.<Func> | UK2Node_CallFunction (external) | CallFunction:KismetSystemLibrary.PrintString | |
CallFunction:<Func> | UK2Node_CallFunction (self) | CallFunction:MyBlueprintFunction | |
VariableGet:<Var> | UK2Node_VariableGet | VariableGet:Health | |
VariableSet:<Var> | UK2Node_VariableSet | VariableSet:Health | |
CustomEvent:<Name> | UK2Node_CustomEvent | CustomEvent:OnDamageReceived | |
Event:<Name> | UK2Node_Event | Event:ReceiveBeginPlay | |
FunctionEntry | UK2Node_FunctionEntry | (auto-generated, cannot create/delete) | |
FunctionResult | UK2Node_FunctionResult | (auto-generated, cannot create/delete) |
Other node types use their raw class name (e.g. K2Node_IfThenElse, K2Node_ForEachLoop).
Connections
Output connections from the owning node, indented with >:
Pin names match UE's internal PinName. Common exec pins: execute, then.
Properties
Properties serialized in {...} via UE reflection. Pin default values use pin.<PinName> prefix.
Example: {pin.InString:"Hello World", pin.Duration:5.0}
Variables Section
Fields map directly to FEdGraphPinType reflection fields. Optional: "Replicated":true, "Category":"MyCategory".
The [Variables] section uses full overwrite semantics:
- Variables in the text that don't exist in the Blueprint are created.
- Variables in the text that already exist are updated (type, default value, replicated flag, category).
- Variables in the Blueprint but not in the text are deleted.
Always ReadGraph("Variables") first and include all variables you want to keep.
Creating / Deleting Sections
- Create function:
WriteGraph(AssetPath, "Function:NewFunc", graphText)— if the function doesn't exist, it's created automatically - Delete function:
WriteGraph(AssetPath, "Function:OldFunc", "")— empty text deletes the section - Same for Macros
Pseudocode Translation
CRITICAL: After ReadGraph, translate the NodeCode into pseudocode before making changes. NodeCode describes structure (nodes, properties, connections), not logic. You must reconstruct the logic to avoid breaking it.
Workflow
- ReadGraph — get NodeCode text
- Translate to pseudocode — trace exec flow from entry nodes, resolve data flow into expressions
- Reason about the change — use pseudocode to understand what needs to change
- Edit the NodeCode — make structural changes with full understanding of the logic
- WriteGraph — apply
Key Rules
- Read on-demand, not all at once. Outline first, then ReadGraph only the sections you need.
- Translate to pseudocode after reading — understand the logic before editing.
- Preserve node IDs — existing nodes have
N_<base62>IDs that encode their GUID. Always keep them unchanged when writing back. UseN_new<int>only for genuinely new nodes. - ReadGraph before WriteGraph — always read the target section before writing.
- FunctionEntry and FunctionResult cannot be created or deleted.
- All operations support Undo (Ctrl+Z).
- Incremental diff — only changed nodes/connections are modified.
Error Handling
- Check
diffobject in response:nodes_added,nodes_removed,nodes_modified,links_added,links_removed. - Property errors:
"Property not found: ..."or"Failed to import ...". - Pin errors:
"Pin not found: ...". - Re-read after write if unsure.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingSkills/unreal-blueprint-editing/SKILL.md
Popularity
- Repository stars
- 114
- Repository forks
- 14
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/italink/unrealclientprotocol/unreal-blueprint-editing)