The node graph tool
Unreal doesn't have.

Blueprints. Describe what you need and get a fully wired Unreal Engine Blueprint: correct pin types, execution flow, and variable setup. Powered by the AI you already use. Review it on canvas, tweak anything, then paste it into Unreal or deploy it in one click.

Generate a Blueprint from a description.Send it over from Unreal. One click.

1

Describe what you needSend it from Unreal

Type what you're trying to do, or pick from the built-in prompt patterns.One click on the Connector's Send button - or copy nodes in the Anim Blueprint or MetaSound editor and paste them straight in.

2

Get a working graphIt lands as Unreal drew it

Not a list of nodes. A fully wired graph with correct connections, pin types, and execution flow. Auto-laid-out and ready to read through before you commit.Tabs, state machines, pin trees, knobs, and wire colors arrive exactly as the editor shows them - validated against the real node library on arrival.

3

Send it to UnrealUnderstand it, edit it, keep it

Export copies native Unreal clipboard data. Paste straight into the Blueprint or Material editor. Want to skip the clipboard? The free Connector plugin deploys directly into your project.Ask the AI you already use to explain it on the canvas, tweak it, save it to your library - and copy supported graphs straight back into Unreal.

EventGraph
Event Actor Begin Overlap
Other Actor
Cast To BP_PlayerCharacter
Object
Cast Failed
As BP_Player…
Timeline
Play
Update
Finished
Direction
Get World Delta Seconds
Return Value
float × float
A
B  2.0
Door Alpha
Door Alpha
float + float
A
B
SET Door Alpha
Door Alpha
Closed Pos
Closed Pos
Open Pos
Open Pos
Ease
Alpha
A
B
Result
DoorMesh
DoorMesh
Set Relative Location
Target
New Location
Get Actor Location
Return Value
Play Sound At Location
Location
Generate
Full graph

Generating blueprint...

Cancel

✓ Validated · deployable · 15 nodes
Deployed to Unreal · compiled ✓
Unreal EditorBP_SlidingDoor — Event Graph
CompileSaveBrowse
Event Graph
Event Actor Begin Overlap
Other Actor
Cast To BP_PlayerCharacter
Object
Cast Failed
As BP_Player…
Timeline
Play
Update
Finished
Direction
Get World Delta Seconds
Return Value
float × float
A
B  2.0
Door Alpha
Door Alpha
float + float
A
B
SET Door Alpha
Door Alpha
Closed Pos
Closed Pos
Open Pos
Open Pos
Ease
Alpha
A
B
Result
DoorMesh
DoorMesh
Set Relative Location
Target
New Location
Get Actor Location
Return Value
Play Sound At Location
Location
Compiled ✓ · 0 errors
Alt+Tab
M_PulseLava
Texture Coordinate
UVs
Panner
Coordinate
Output
Texture Sample Noise_Tileable
UVs
RGB
A
Lava Dark Vector Parameter
RGB
Lava Bright Vector Parameter
RGB
Lerp
A
B
Alpha
Output
Emissive Strength Scalar Parameter · 20.0
Output
Multiply
A
B
Roughness Scalar Parameter · 0.8
Output
Material Result
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
Generate
Full graph

Generating material...

Cancel

✓ Validated · deployable · looks 88
Deployed to Unreal · compiled ✓
Unreal EditorMaterial Editor — M_PulseLava
ApplySaveBrowse
Material
Texture Coordinate
UVs
Panner
Coordinate
Output
Texture Sample Noise_Tileable
UVs
RGB
A
Lava Dark Vector Parameter
RGB
Lava Bright Vector Parameter
RGB
Lerp
A
B
Alpha
Output
Emissive Strength Scalar Parameter · 20.0
Output
Multiply
A
B
Roughness Scalar Parameter · 0.8
Output
Material Result
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
Compiled ✓ · 0 errors
Alt+Tab
WBP_HealthBar
Health
DamageHeal
Designer preview · WBP_HealthBar
Hierarchy
▾ Canvas_Root
▾ VBox_Main
Txt_Title
Prg_Health
▾ HBox_Buttons
Btn_Damage
Btn_Heal
On Clicked Btn_Heal
Set Percent Prg_Health · 1.0
Target
In Percent
On Clicked Btn_Damage
Set Percent Prg_Health · 0.25
Target
In Percent
Generate
Full graph

Generating widget...

Cancel

✓ Validated · deployable · tree + graph
Deployed to Unreal · compiled ✓
Unreal EditorUMG Designer — WBP_HealthBar
DesignerGraph
Health
DamageHeal
UMG Designer preview · WBP_HealthBar
Compiled ✓ · 0 errors
Alt+Tab
AnimGraphLocomotion (SM)EventGraph
Locomotion State Machine
Sequence Player AS_Idle_Aim
Two Way Blend
A
B
Alpha
Pose
Two Bone IK hand_r
Component Pose
Effector Location
Pose
Output Pose
Result
✓ Validated · compiles in UE
Received from Unreal · 3 tabs ✓
Unreal EditorAnim Blueprint — ABP_Hero
Send to GraphDeckCompileSave
AnimGraph
Locomotion State Machine
Sequence Player AS_Idle_Aim
Two Way Blend
A
B
Alpha
Pose
Two Bone IK hand_r
Component Pose
Effector Location
Pose
Output Pose
Result
Sent ✓
Forwards SolveBackwards SolveConstruction
Forwards Solve
Execute
Get Transform Bone · hand_r
Item
Transform
Basic IK upperarm_l → hand_l
Execute
Effector
Pole Vector
Execute
Damp (Float)
Value
Strength
Result
Set Transform Control · ctrl_hand_l
Execute
Value
Weight
Execute
✓ Validated · bones match the hierarchy
Received from Unreal · 3 solves ✓
Unreal EditorControl Rig — CR_Hero
Send to GraphDeckCompileSave
Rig Graph
Forwards Solve
Execute
Get Transform Bone · hand_r
Item
Transform
Basic IK upperarm_l → hand_l
Execute
Effector
Pole Vector
Execute
Damp (Float)
Value
Strength
Result
Set Transform Control · ctrl_hand_l
Execute
Value
Weight
Execute
Sent ✓
MS_Ambience_Wind
On Play Input
Wave Player Mono
Play
Wave Asset
Out Mono
On Finished
Sine 0.2 Hz
Frequency
Audio
Envelope Follower
In
Envelope
State Variable Filter
In
Cutoff Frequency
Low Pass Filter
Out Mono Output
✓ Validated · Source · OneShot
Received from Unreal ✓
Unreal EditorMetaSound — MS_Ambience_Wind
Send to GraphDeckCompileSave
MetaSound
On Play Input
Wave Player Mono
Play
Wave Asset
Out Mono
On Finished
Sine 0.2 Hz
Frequency
Audio
Envelope Follower
In
Envelope
State Variable Filter
In
Cutoff Frequency
Low Pass Filter
Out Mono Output
Sent ✓
PCG_Forest_Scatter
Input
Out
Get Landscape
Out
Surface Sampler
Surface
Bounding Shape
Out
Density Filter
In
Out
Transform Points
In
Out
Static Mesh Spawner
In
Spawn Params
✓ Validated · every wire intact
Received from Unreal · every wire intact ✓
Unreal EditorPCG Graph — PCG_Forest_Scatter
Send to GraphDeckCompileSave
PCG Graph
Input
Out
Get Landscape
Out
Surface Sampler
Surface
Bounding Shape
Out
Density Filter
In
Out
Transform Points
In
Out
Static Mesh Spawner
In
Spawn Params
Sent ✓

Not a mockup - every node, pin, and wire is from a real generated graph, validated in GraphDeck.

The Connector plugin. Download the beta.

GraphDeck works perfectly with just the clipboard. The Connector plugin takes it further: deploy Blueprints and Materials straight from GraphDeck with a single button. Free, in open beta.

Free plugin. Drop it in, enable it, GraphDeck finds it automatically.
Two-way. Deploy from GraphDeck or pull assets back in for reference, editing, or AI explain.
Localhost only. No cloud, no telemetry, no internet required.
Download the Connector
Read more about the Connector →

Direct download for UE 5.4 - 5.8. The Fab listing comes later. It's beta software - stable in our testing, and nothing touches your project until you hit Deploy - but keep your project under source control and use it at your own discretion.

Paste out of Unreal. Edit. Paste back.

Unreal EditorBP_Door — Event Graph
CompileSaveBrowse
Event Graph
Event Actor Begin Overlap
Other Actor
Cast To BP_PlayerCharacter
Object
Cast Failed
As BP_Player…
Timeline
Play
Update
Finished
Direction
Get World Delta Seconds
Return Value
float × float
A
B  2.0
Door Alpha
Door Alpha
float + float
A
B
SET Door Alpha
Door Alpha
Closed Pos
Closed Pos
Open Pos
Open Pos
Ease
Alpha
A
B
Result
DoorMesh
DoorMesh
Set Relative Location
Target
New Location
Get Actor Location
Return Value
Play Sound At Location
Location
Delay 0.2s
BP_Door
Event Actor Begin Overlap
Other Actor
Cast To BP_PlayerCharacter
Object
Cast Failed
As BP_Player…
Timeline
Play
Update
Finished
Direction
Get World Delta Seconds
Return Value
float × float
A
B  2.0
Door Alpha
Door Alpha
float + float
A
B
SET Door Alpha
Door Alpha
Closed Pos
Closed Pos
Open Pos
Open Pos
Ease
Alpha
A
B
Result
DoorMesh
DoorMesh
Set Relative Location
Target
New Location
Get Actor Location
Return Value
Play Sound At Location
Location
Delay 0.2s
✓ 15 nodes · 0 issues
Ctrl+C
Ctrl+V
Ctrl+C
Ctrl+V
Unreal EditorMaterial Editor — M_PulseLava
ApplySaveBrowse
Material
Texture Coordinate
UVs
Panner
Coordinate
Output
Texture Sample Noise_Tileable
UVs
RGB
A
Lava Dark Vector Parameter
RGB
Lava Bright Vector Parameter
RGB
Lerp
A
B
Alpha
Output
Emissive Strength Scalar Parameter · 20.0
Output
Multiply
A
B
Roughness Scalar Parameter · 0.8
Output
Material Result
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
Sine Period 1.0
M_PulseLava
Texture Coordinate
UVs
Panner
Coordinate
Output
Texture Sample Noise_Tileable
UVs
RGB
A
Lava Dark Vector Parameter
RGB
Lava Bright Vector Parameter
RGB
Lerp
A
B
Alpha
Output
Emissive Strength Scalar Parameter · 20.0
Output
Multiply
A
B
Roughness Scalar Parameter · 0.8
Output
Material Result
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
Sine Period 1.0
✓ 10 nodes · 0 issues
Ctrl+C
Ctrl+V
Ctrl+C
Ctrl+V
Unreal EditorUMG Designer — WBP_HealthBar
DesignerGraph
Health
DamageHeal
UMG Designer preview
Hierarchy
▾ Canvas_Root
▾ VBox_Main
Txt_Title
Prg_Health
▾ HBox_Buttons
Btn_Damage
Btn_Heal
WBP_HealthBar
Health
DamageHeal
Designer preview · WBP_HealthBar
Hierarchy
▾ Canvas_Root
▾ VBox_Main
Txt_Title
Prg_Health
▾ HBox_Buttons
Btn_Damage
Btn_Heal
✓ Received · tree + graph
Received ✓
Unreal EditorAnim Blueprint — ABP_Hero
CompileSaveBrowse
AnimGraph
Locomotion State Machine
Sequence Player AS_Idle_Aim
Two Way Blend
A
B
Alpha
Pose
Two Bone IK hand_r
Component Pose
Effector Location
Pose
Output Pose
Result
Modify Bone spine_01
Component Pose
Pose
AnimGraph
Locomotion State Machine
Sequence Player AS_Idle_Aim
Two Way Blend
A
B
Alpha
Pose
Two Bone IK hand_r
Component Pose
Effector Location
Pose
Output Pose
Result
Modify Bone spine_01
Component Pose
Pose
✓ 5 nodes · 0 issues
Ctrl+C
Ctrl+V
Ctrl+C
Ctrl+V
Sent ✓
Unreal EditorControl Rig — CR_Hero
Send to GraphDeckCompileSave
Rig Graph
Forwards Solve
Execute
Get Transform Bone · hand_r
Item
Transform
Basic IK upperarm_l → hand_l
Execute
Effector
Pole Vector
Execute
Damp (Float)
Value
Strength
Result
Set Transform Control · ctrl_hand_l
Execute
Value
Weight
Execute
CCDIK spine chain
Execute
Effector
Execute
Forwards Solve
Forwards Solve
Execute
Get Transform Bone · hand_r
Item
Transform
Basic IK upperarm_l → hand_l
Execute
Effector
Pole Vector
Execute
Damp (Float)
Value
Strength
Result
Set Transform Control · ctrl_hand_l
Execute
Value
Weight
Execute
CCDIK spine chain
Execute
Effector
Execute
✓ 5 nodes · 0 issues
Saved to your library ✓
Ctrl+C
Ctrl+V
Ctrl+C
Ctrl+V
Sent ✓
Unreal EditorMetaSound — MS_Ambience_Wind
CompileSaveBrowse
MetaSound
On Play Input
Wave Player Mono
Play
Wave Asset
Out Mono
On Finished
Sine 0.2 Hz
Frequency
Audio
Envelope Follower
In
Envelope
State Variable Filter
In
Cutoff Frequency
Low Pass Filter
Out Mono Output
Trigger Delay 0.5 s
In
Out
MS_Ambience_Wind
On Play Input
Wave Player Mono
Play
Wave Asset
Out Mono
On Finished
Sine 0.2 Hz
Frequency
Audio
Envelope Follower
In
Envelope
State Variable Filter
In
Cutoff Frequency
Low Pass Filter
Out Mono Output
Trigger Delay 0.5 s
In
Out
✓ 6 nodes · 0 issues
Saved to your library ✓
Ctrl+C
Ctrl+V
Ctrl+C
Ctrl+V
Sent ✓
Unreal EditorPCG Graph — PCG_Forest_Scatter
Send to GraphDeckCompileSave
PCG Graph
Input
Out
Get Landscape
Out
Surface Sampler
Surface
Bounding Shape
Out
Density Filter
In
Out
Transform Points
In
Out
Static Mesh Spawner
In
Spawn Params
Density Filter 0.6 – 1.0
In
Out
PCG_Forest_Scatter
Input
Out
Get Landscape
Out
Surface Sampler
Surface
Bounding Shape
Out
Density Filter
In
Out
Transform Points
In
Out
Static Mesh Spawner
In
Spawn Params
Density Filter 0.6 – 1.0
In
Out
✓ 6 nodes · 0 issues
Ctrl+C
Ctrl+V
Ctrl+C
Ctrl+V
Sent ✓

Round-trip: native Unreal clipboard data works in both directions.

Save what works. Build your own graph library.

Sliding Door
NewSaveUndoRedo
Library
▾ Examples
Roaming Sphere
BP_JumpPad
Surface Footstepsgameplay
▾ Doors
Sliding Doorgameplay
Event Actor Begin Overlap
Other Actor
Cast To BP_PlayerCharacter
Object
Cast Failed
As BP_Player…
Timeline
Play
Update
Finished
Direction
Get World Delta Seconds
Return Value
float × float
A
B  2.0
Door Alpha
Door Alpha
float + float
A
B
SET Door Alpha
Door Alpha
Closed Pos
Closed Pos
Open Pos
Open Pos
Ease
Alpha
A
B
Result
DoorMesh
DoorMesh
Set Relative Location
Target
New Location
Get Actor Location
Return Value
Play Sound At Location
Location
✓ Validated · deployable · 97 / 100
Event Tick
Delta Seconds
float × float
A
B  90.0
Make Rotator
Roll
Pitch
Yaw
Return Value
Add Actor Local Rotation
Delta Rotation
Random Float in Range
Min
Max  4.0
Return Value
Event BeginPlay
Set Actor Relative Scale 3D
New Scale 3D
✓ Validated · 7 nodes
Event Actor Begin Overlap
Other Actor
Cast To Character
Object
Cast Failed
As Character
Launch Strength
Launch Strength
Make Vector
X
Y
Z
Return Value
Launch Character
Target
Launch Velocity
Play Sound 2D S_Boing
✓ Validated · 6 nodes
Saved · Sliding Door.gdeck
M_PulseLava
NewSaveUndoRedo
Library
▾ Surfaces
M_ForceField
M_Dissolve
M_Hologramvfx
▾ VFX
M_PulseLavavfx
Texture Coordinate
UVs
Panner
Coordinate
Output
Texture Sample Noise_Tileable
UVs
RGB
A
Lava Dark Vector Parameter
RGB
Lava Bright Vector Parameter
RGB
Lerp
A
B
Alpha
Output
Emissive Strength Scalar Parameter · 20.0
Output
Multiply
A
B
Roughness Scalar Parameter · 0.8
Output
Material Result
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
✓ Validated · deployable · looks 92
Fresnel
Output
Power
Base
Exp  3.0
Texture Sample Hex_Pattern
UVs
RGB
A
Panner
Output
FF Color Vector Parameter
RGB
Multiply
A
B
Add
A
B
Material Result
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
✓ Validated · 8 nodes
Texture Sample Noise_Cloud
UVs
RGB
A
Dissolve Amount Scalar Parameter · 0.5
Output
Step
X
Y
Edge Color Vector Parameter
RGB
Multiply
A
B
Material Result
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
✓ Validated · 6 nodes
Saved · M_PulseLava.gdeck
WBP_HealthBar
NewSaveUndoRedo
Library
▾ UI
WBP_MainMenu
WBP_Minimap
WBP_Inventoryui
▾ HUD
WBP_HealthBarhud
Health
DamageHeal
Designer preview · WBP_HealthBar
Hierarchy
▾ Canvas_Root
▾ VBox_Main
Txt_Title
Prg_Health
▾ HBox_Buttons
Btn_Damage
Btn_Heal
On Clicked Btn_Heal
Set Percent Prg_Health · 1.0
Target
In Percent
On Clicked Btn_Damage
Set Percent Prg_Health · 0.25
Target
In Percent
✓ Validated · tree + graph
MAIN MENU
PlayOptionsQuit
Designer preview · WBP_MainMenu
On Clicked Btn_Play
Open Level Map_Level01
On Clicked Btn_Quit
Quit Game
✓ Validated · tree + graph
Minimap
Designer preview · WBP_Minimap
Event Construct
Set Brush from Texture RT_Minimap
Target
Event Tick
Set Render Translation from player
Translation
✓ Validated · tree + graph
Saved · WBP_HealthBar.gdeck
ABP_Locomotion
NewSaveUndoRedo
Library
▾ Animation
ABP_Aim_Offset
ABP_Crouch_Layer
ABP_Turret_Scanlocomotion
ABP_Locomotionlocomotion
Locomotion State Machine
Sequence Player AS_Idle_Aim
Two Way Blend
A
B
Alpha
Pose
Two Bone IK hand_r
Component Pose
Effector Location
Pose
Output Pose
Result
Aim States State Machine
Blend Space Player BS_Aim
A
Pose
Output Pose
Result
Sequence Player AS_Crouch
Two Way Blend
A
B
Pose
Output Pose
Result
Saved to library ✓
CR_Arm_IK
NewSaveUndoRedo
Library
▾ Rigs
CR_Tail_Chain
CR_Look_At
CR_Foot_Rollik
CR_Arm_IKik
Forwards Solve
Execute
Get Transform Bone · hand_r
Item
Transform
Basic IK upperarm_l → hand_l
Execute
Effector
Pole Vector
Execute
Damp (Float)
Value
Strength
Result
Set Transform Control · ctrl_hand_l
Execute
Value
Weight
Execute
Forwards Solve
Execute
CCDIK tail chain
Execute
Execute
Set Transform Control
Execute
Forwards Solve
Execute
Get Transform Control · ctrl_aim
Transform
Set Transform Bone · head
Execute
Value
Saved to library ✓
MS_Ambience_Wind
NewSaveUndoRedo
Library
▾ Audio
MS_Footsteps
MS_UI_Clicks
MS_Impact_Layerambience
MS_Ambience_Windambience
On Play Input
Wave Player Mono
Play
Wave Asset
Out Mono
On Finished
Sine 0.2 Hz
Frequency
Audio
Envelope Follower
In
Envelope
State Variable Filter
In
Cutoff Frequency
Low Pass Filter
Out Mono Output
On Play Input
Wave Player Mono
Play
Out Mono
Out Mono Output
Sine 880 Hz
Audio
State Variable Filter
In
Low Pass Filter
Out Mono Output
Saved to library ✓
PCG_Forest_Scatter
NewSaveUndoRedo
Library
▾ World
PCG_Rock_Field
PCG_Grass_Density
PCG_Path_Clearingfoliage
PCG_Forest_Scatterfoliage
Input
Out
Get Landscape
Out
Surface Sampler
Surface
Bounding Shape
Out
Density Filter
In
Out
Transform Points
In
Out
Static Mesh Spawner
In
Spawn Params
Input
Out
Surface Sampler
Surface
Out
Static Mesh Spawner
In
Get Landscape
Out
Density Filter
In
Out
Static Mesh Spawner
In
Saved to library ✓

Saving, organising, and reopening entries - the library in motion.

Learn how any graph works.

Use AI to understand Unreal rather than avoid understanding it. The same AI tools work on any graph you load: ones you generated, ones you pulled in from Unreal, ones you inherited from someone else. GraphDeck turns visual scripting you didn't write into something you actually understand.

EventGraph
Event Actor Begin Overlap
Other Actor
Cast To BP_PlayerCharacter
Object
Cast Failed
As BP_Player…
Timeline
Play
Update
Finished
Direction
Get World Delta Seconds
Return Value
float × float
A
B  2.0
Door Alpha
Door Alpha
float + float
A
B
SET Door Alpha
Door Alpha
Closed Pos
Closed Pos
Open Pos
Open Pos
Ease
Alpha
A
B
Result
DoorMesh
DoorMesh
Set Relative Location
Target
New Location
Get Actor Location
Return Value
Play Sound At Location
Location
Why does the door glide open instead of teleporting? Start at the trigger.
Only the player passes - everything else fails the Cast and stops here.
Update fires every frame while the Timeline runs - that's the animation clock.
Each tick adds delta × 2 - Door Alpha climbs 0 to 1 in half a second.
Alpha drives position, not speed - pause the clock and the door freezes mid-slide.
Every frame the mesh is placed at the eased position - motion is emergent.
Finished fires once, when the slide lands - the creak plays at the door.
Overlap → gate → clock → alpha → blend → move - six links, one glide.
Play Sound 2D - DoorCreak
Accept sketch
How the door slides openA real lesson, drawn on the graphclick ▶ to step through it
How the door slides open1 / 8
M_PulseLava
Texture Coordinate
UVs
Panner
Coordinate
Output
Texture Sample Noise_Tileable
UVs
RGB
A
Lava Dark Vector Parameter
RGB
Lava Bright Vector Parameter
RGB
Lerp
A
B
Alpha
Output
Emissive Strength Scalar Parameter · 20.0
Output
Multiply
A
B
Roughness Scalar Parameter · 0.8
Output
Material Result
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
Why does the lava crawl on its own with no timeline anywhere?
Panner offsets the UVs a little every frame - scrolling is free on the GPU.
The noise is the mask - dark crust where it's low, molten where it's high.
Emissive is light, not colour - the ×20 strength is what makes bloom bite.
Only pins wired into the Result exist in the compiled shader.
UVs scroll → noise masks → Lerp colours → Emissive glows. Four stages, no code.
Why the lava crawlsA real lesson, drawn on the graphclick ▶ to step through it
Why the lava crawls1 / 6
WBP_HealthBar
Health
DamageHeal
Designer preview · WBP_HealthBar
On Clicked Btn_Heal
Set Percent Prg_Health · 1.0
Target
In Percent
On Clicked Btn_Damage
Set Percent Prg_Health · 0.25
Target
In Percent
Same tree, same look - so why is there no Tick anywhere in this widget?
Heal is an event, not a poll - this chain runs only on the click.
Set Percent writes the bar directly - no binding, no per-frame cost.
The preview is live - this exact tree is what deploys to Unreal.
Tree defines look - events define behaviour - nothing runs per frame.
Why there's no TickA real lesson, drawn on the graphclick ▶ to step through it
Why there's no Tick1 / 5
AnimGraph
Locomotion State Machine
Sequence Player AS_Idle_Aim
Two Way Blend
A
B
Alpha
Pose
Two Bone IK hand_r
Component Pose
Effector Location
Pose
Output Pose
Result
The base pose comes out of a full state machine living in here.
Idle blends in by Alpha - two pose streams become one.
IK bends the arm after animation - order is the whole trick.
State machine → blend → IK → output. One pose, four stages.
How this pose gets builtA real lesson, drawn on the graphclick ▶ to step through it
How this pose gets built1 / 5
Forwards Solve
Forwards Solve
Execute
Get Transform Bone · hand_r
Item
Transform
Basic IK upperarm_l → hand_l
Execute
Effector
Pole Vector
Execute
Damp (Float)
Value
Strength
Result
Set Transform Control · ctrl_hand_l
Execute
Value
Weight
Execute
Every frame starts here - the execute chain is the solve.
Basic IK bends the chain so the hand reaches its target.
Damp smooths the weight - the control lands softly, never snapping.
Event → solve the chain → write the control. That is the frame.
What the Forwards Solve doesA real lesson, drawn on the graphclick ▶ to step through it
What the Forwards Solve does1 / 5
MS_Ambience_Wind
On Play Input
Wave Player Mono
Play
Wave Asset
Out Mono
On Finished
Sine 0.2 Hz
Frequency
Audio
Envelope Follower
In
Envelope
State Variable Filter
In
Cutoff Frequency
Low Pass Filter
Out Mono Output
On Play fires once - the Wave Player streams the wind bed.
A slow Sine drives an envelope - that is the breathing.
The envelope opens the filter - loudness becomes brightness.
Source → filter → out. The modulation rides on top.
Why the wind breathesA real lesson, drawn on the graphclick ▶ to step through it
Why the wind breathes1 / 5
PCG_Forest_Scatter
Input
Out
Get Landscape
Out
Surface Sampler
Surface
Bounding Shape
Out
Density Filter
In
Out
Transform Points
In
Out
Static Mesh Spawner
In
Spawn Params
The sampler scatters points across the landscape surface.
Density is decided here - the spawner only sees survivors.
Survivors get jittered, then become meshes in the world.
Sample → filter → spawn. Density flows left to right.
Where the trees come fromA real lesson, drawn on the graphclick ▶ to step through it
Where the trees come from1 / 5

A real lesson, live on the graph: step through it with the ◀ ▶ arrows, exactly like in the app.

Explain

Ask for an explanation and the AI teaches it like a lesson at a whiteboard. The camera glides through the graph while rings, arrows, and notes land on the exact nodes it's talking about, and you page through at your own pace. Lessons follow the logic across EventGraph, functions, and Construction Script, and can be saved and replayed.

?

Ask

Ask questions about what's on your canvas: "What happens when the player presses E?", "Could anything go wrong with this?", "How could I optimise this material?" Answers arrive drawn on the graph itself, anchored to the actual nodes, not as a wall of chat text. When a lesson calls for it, the AI can even sketch a suggested addition in chalk - nothing changes unless you accept it.

Extend

Select nodes and ask the AI to build from them. "Add sprint with stamina that drains and recharges." It reads what's already there, wires into your existing graph, and adds only what's needed.

Bring your own AI.

GraphDeck doesn't run its own AI service. Connect an assistant directly, use a free copy-paste workflow, or plug in your own key.

EventGraph● MCP connected
Settings · MCP Server
Enable MCP server
localhost:30303 · waiting for a client…
Event Actor Begin Overlap
Other Actor
Cast To BP_PlayerCharacter
Object
Cast Failed
As BP_Player…
Timeline DoorSlide
Play
Update
Finished
Direction
SET Door Alpha
Door Alpha
Set Relative Location
Target
New Location
✓ Validated · deployable · 97 / 100
ChatGPT
You are generating an Unreal Engine Blueprint as structured JSON. Follow the node library and pin rules below… - the full prompt GraphDeck copied
Here's the Blueprint in GraphDeck's format:
jsonCopy
{
  "nodes": [
    { "id": 1, "type": "Event ActorBeginOverlap" },
    { "id": 2, "type": "Cast To BP_PlayerCharacter" },
    { "id": 3, "type": "Timeline", "name": "DoorSlide" },
    …12 more nodes…
  ],
  "connections": [ ["1","2"], ["2","3"], … ]
}
Message ChatGPT…
Ctrl+V
Ctrl+C
Ctrl+V
Gemini - GraphDeck Blueprints
🔒gemini.google.com/gem/graphdeck-blueprints
GraphDeck BlueprintsGem · by GraphDeck
A door that slides open when the player walks into the trigger
Built against the Blueprint node rules - a Timeline drives the slide. Paste this back into GraphDeck:
jsonCopy
{
  "nodes": [
    { "id": 1, "type": "Event ActorBeginOverlap" },
    { "id": 2, "type": "Cast To BP_PlayerCharacter" },
    { "id": 3, "type": "Timeline", "name": "DoorSlide" },
    …12 more nodes…
  ],
  "connections": [ ["1","2"], ["2","3"], … ]
}
Ask GraphDeck Blueprints…
Ctrl+V
Ctrl+C
Ctrl+V
M_PulseLava● MCP connected
Settings · MCP Server
Enable MCP server
localhost:30303 · waiting for a client…
Texture Sample Noise_Tileable
UVs
RGB
A
Lerp
A
B
Alpha
Output
Material Result
Base Color
Metallic
Specular
Roughness
Emissive Color
Normal
✓ Validated · deployable · looks 92
ChatGPT
You are generating an Unreal Engine Material as structured JSON. Follow the node library and pin rules below… - the full prompt GraphDeck copied
Here's the Material in GraphDeck's format:
jsonCopy
{
  "nodes": [
    { "id": 1, "type": "TextureCoordinate" },
    { "id": 2, "type": "Panner", "speedX": 0.05 },
    { "id": 3, "type": "TextureSample", "texture": "Noise_Tileable" },
    …7 more nodes…
  ],
  "result": { "BaseColor": "@6", "EmissiveColor": "@8" }
}
Message ChatGPT…
Ctrl+V
Ctrl+C
Ctrl+V
Gemini - GraphDeck Materials
🔒gemini.google.com/gem/graphdeck-materials
GraphDeck MaterialsGem · by GraphDeck
Scrolling lava with a dark crust and a strong molten glow
Built against the Material node rules - Panner scrolls, Lerp blends, Emissive glows. Paste it back into GraphDeck:
jsonCopy
{
  "nodes": [
    { "id": 1, "type": "TextureCoordinate" },
    { "id": 2, "type": "Panner", "speedX": 0.05 },
    { "id": 3, "type": "TextureSample", "texture": "Noise_Tileable" },
    …7 more nodes…
  ],
  "result": { "BaseColor": "@6", "EmissiveColor": "@8" }
}
Ask GraphDeck Materials…
Ctrl+V
Ctrl+C
Ctrl+V
WBP_HealthBar● MCP connected
Settings · MCP Server
Enable MCP server
localhost:30303 · waiting for a client…
Health
DamageHeal
Designer preview · WBP_HealthBar
On Clicked Btn_Heal
Set Percent Prg_Health · 1.0
Target
In Percent
✓ Validated · tree + graph
ChatGPT
You are generating an Unreal Engine Widget as structured JSON. Follow the node library and pin rules below… - the full prompt GraphDeck copied
Here's the Widget in GraphDeck's format:
jsonCopy
{
  "widgetTree": { "Canvas_Root": [ "VBox_Main",
    "Txt_Title", "Prg_Health", "HBox_Buttons" ] },
  "eventGraph": { "nodes": [
    { "id": 1, "event": "On Clicked", "widget": "Btn_Heal" },
    { "id": 2, "call": "Set Percent", "target": "Prg_Health" },
    …
  ] }
}
Message ChatGPT…
Ctrl+V
Ctrl+C
Ctrl+V
Gemini - GraphDeck Widgets
🔒gemini.google.com/gem/graphdeck-widgets
GraphDeck WidgetsGem · by GraphDeck
A health bar with heal and damage buttons
Built against the Widget rules - tree plus two click events. Paste it back into GraphDeck:
jsonCopy
{
  "widgetTree": { "Canvas_Root": [ "VBox_Main",
    "Txt_Title", "Prg_Health", "HBox_Buttons" ] },
  "eventGraph": { "nodes": [
    { "id": 1, "event": "On Clicked", "widget": "Btn_Heal" },
    { "id": 2, "call": "Set Percent", "target": "Prg_Health" },
    …
  ] }
}
Ask GraphDeck Widgets…
Ctrl+V
Ctrl+C
Ctrl+V

Let your AI assistant use GraphDeck Best way

MCP server, built in

Connect an assistant like Claude and it drives the whole workflow: it builds graphs live on your canvas, looks things up in your library, and checks its own work against GraphDeck's validation. With the Connector plugin it reaches into Unreal too - pull Blueprints and Materials in, deploy back, compile and verify. You approve anything that touches your library or your project, and Ctrl+Z undoes any build.

Claude Code · Claude Desktop · Cursor · VS Code · any MCP client · every tier

Copy-prompt workflow

No API key needed

GraphDeck builds a detailed prompt for you. Copy it, paste into whatever AI you already use (ChatGPT, Claude, Gemini), and paste the response back - GraphDeck turns it into a wired, validated graph.

Works with any AI · Requires a free account with the AI provider

GraphDeck Gems

No API key needed

Pre-built Gemini Gems: custom AIs that already know every node, pin type, and syntax rule for each mode. Copy a short prompt, paste it in, copy the response back. Same clipboard flow, better results.

Requires a free Google account · Powered by Gemini

Direct API key

Optional

Plug in your own API key from Anthropic or OpenAI and generate directly inside GraphDeck. Faster if you're doing a lot of generation, and the cost per graph is fractions of a penny.

Your key · Your account · Stored locally · Pay per use

You choose what leaves your machine.

Standalone by default

Works without a plugin, without project access, without the engine running.

Local only

Clipboard or plugin, nothing leaves your machine. AI calls use your own keys.

Counts, never content

Telemetry is anonymous feature-use counts from a fixed public list. Never your graphs, prompts, or project data.

The AI never sees your project

It only receives node names, pin data, and what you type. Never your files, assets, or source code.

No lock-in

Everything GraphDeck creates is a standard Unreal Engine asset. Uninstall anytime. Nothing breaks.

Get GraphDeck

Free

Beta
£0
No account. Keep 5 graphs in each tool, 10 AI builds a day (100 included in total) - everything else is unlimited.
  • AI generation for Blueprints, Materials & Widgets
  • Full node libraries with validation
  • Save 5 graphs per tool - autosave, import & trash included
  • Copy All as UE Blueprint: native clipboard export
  • One-click deploy via the free Connector plugin
  • Explain & Ask lessons on your canvas
  • Asset Bucket for project context
  • Copy-prompt workflow or bring-your-own-key
Download

Indie

Early bird
£39£25 one-time
Solo devs & studios under $100k/yr revenue.
  • Everything in Free, plus:
  • Unlimited saved graphs in every tool
  • Unlimited AI builds - no daily cap
  • Folders, favourites, tags & sorting
  • Multi-graph tab editing & custom library location
  • Everything you made in Free unlocks instantly
Buy Indie

Studio

Early bird
£99£70 one-time
Studios with $100k+/yr revenue. Same product, supports development at scale.
  • Everything in Free, plus:
  • Unlimited saved graphs in every tool
  • Unlimited AI builds - no daily cap
  • Folders, favourites, tags & sorting
  • Multi-graph tab editing & custom library location
  • Everything you made in Free unlocks instantly
Buy Studio

Windows 10+ · Beta · No account required · No subscription · One download for everyone - your license key activates in-app

Want a shout when there's news?

Updates only. Unsubscribe anytime.