{"id":"5c97f072-42b1-44a1-a627-b4f05a168118","shortId":"6v9Rsx","kind":"skill","title":"ue5-blueprint-workflow","tagline":"UE5.6/UE5.7 Blueprint graph workflow for feature implementation, input events, node wiring, and graph validation. Use when requests involve adding Blueprint logic, keyboard input behavior, function chains, event graph edits, or pin-level connection guidance.","description":"# Quick Start\n- Identify target Blueprint asset and graph (`EventGraph` or function graph).\n- Confirm requested behavior as event -> logic -> output chain.\n- Decide input route first: legacy key event or Enhanced Input action event.\n- Produce graph-level steps first, then exact node/pin wiring details.\n\n# UE5.7 API Anchors\n- Keyboard and event node anchors:\n  - `UK2Node_InputKey`, `UK2Node_InputAction`, `UK2Node_InputActionEvent`\n  - `UK2Node_CallFunction`, `UK2Node_CustomEvent`\n- Enhanced Input anchors:\n  - `UInputAction`, `UInputMappingContext`\n  - `UEnhancedInputLocalPlayerSubsystem::AddMappingContext(...)`\n  - `UEnhancedInputLocalPlayerSubsystem::RemoveMappingContext(...)`\n  - `UEnhancedInputComponent::BindAction(...)`\n- Tool fast-path anchors (preferred for Blueprint editing automation):\n  - `blueprint_modify` with `operation=add_input_key_event`\n  - `blueprint_modify` with `operation=connect_pins`\n  - `blueprint_query` for pin inspection and compile checks\n\n# Graph Stage Contract\n- Every requested Blueprint feature must specify:\n  - Entry event source (key/input action/custom event)\n  - Core logic nodes (minimum two meaningful nodes)\n  - Required pin-level connections (exec and data pins)\n  - Output/side effects (state change, call, spawn, UI)\n  - Validation method (compile status, node/pin inspection, expected execution order)\n- If any item is missing, the graph implementation is incomplete.\n\n# Workflow\n## 1) Entry Event\n- Keyboard requests: use `add_input_key_event` first with `reuse_existing=true`.\n- Enhanced Input requests: add/reuse Input Action event nodes (`UK2Node_InputActionEvent` path).\n- Do not perform generic event-node guessing before trying dedicated input operations.\n\n## 2) Core Logic Chain\n- Build minimal deterministic logic with explicit control flow (`Branch`, `Sequence`, function calls).\n- Prefer existing graph variables/functions over creating redundant nodes.\n- Keep one clear execution path per behavior branch.\n\n## 3) Pin Wiring\n- Connect exec pins before data pins to lock execution order.\n- Inspect exact pin names via `blueprint_query` before `connect_pins`.\n- Avoid ambiguous autowiring when multiple overload pins exist.\n\n## 4) State/Output\n- Apply state updates (variables/tags), then side effects (spawn/call/UI feedback).\n- Keep output nodes isolated by intent to simplify later debugging.\n- When both success/fail paths exist, wire both explicitly.\n\n## 5) Validation and Summary\n- Validate compile state and pin integrity after wiring.\n- Confirm there are no duplicate input nodes for the same key/action.\n- Summarize final chain in deterministic order: entry -> branch -> action -> output.\n\n# Constraints\n- Mandatory hotkey rule: use `add_input_key_event` first for keyboard features.\n- Keep `reuse_existing=true` for key events to avoid duplicates.\n- Avoid trial-and-error node class guessing when a dedicated operation exists.\n- Separate graph steps from pin-level detail in final output.\n- Prefer Enhanced Input assets (`UInputAction`/`UInputMappingContext`) for new input systems.\n- Avoid hidden behavior in latent/timer nodes unless explicitly requested.\n\n# Failure Handling\n- Symptom: key press does not fire.\n  - Locate: input node type, duplicated key nodes, input focus/context.\n  - Fix: reuse/create via `add_input_key_event`, remove duplicates, verify mapping context path.\n- Symptom: graph compiles with warnings but behavior is wrong.\n  - Locate: branch conditions and exec pin order.\n  - Fix: reorder exec chain and verify condition data pins.\n- Symptom: pin connection fails in automation.\n  - Locate: node variant pin names or overload mismatch.\n  - Fix: run `blueprint_query` to inspect exact pins before wiring.\n- Symptom: Enhanced Input event exists but never triggers.\n  - Locate: mapping context registration and action binding path.\n  - Fix: ensure mapping context is added and action event node matches action asset.\n- Symptom: event fires multiple times unexpectedly.\n  - Locate: duplicate entry nodes or repeated binding paths.\n  - Fix: consolidate to one entry node and guard re-entrant path with state flags.\n- Symptom: graph no longer compiles after edits.\n  - Locate: broken links after node replacement or stale function signatures.\n  - Fix: reconnect required pins and refresh function node signatures.\n\n# UE5.6 / UE5.7 Compatibility Notes\n- Core Blueprint graph nodes above are stable across UE5.6 and UE5.7.\n- Prefer Enhanced Input path for new implementations in both versions.\n\n# Escalation\n- Escalate when behavior requires C++ extension, custom latent nodes, or engine plugin changes.\n- Escalate when Blueprint is locked, corrupted, or cannot compile due to unrelated project errors.","tags":["ue5","blueprint","workflow","unrealengine5","skills","teixasalone","aec","agent-skills","animations","blender","camera","collisions"],"capabilities":["skill","source-teixasalone","skill-ue5-blueprint-workflow","topic-aec","topic-agent-skills","topic-animations","topic-blender","topic-camera","topic-collisions","topic-computer-vision","topic-dotnet","topic-embodied-ai","topic-game-framework","topic-gaussian-splatting","topic-graphics"],"categories":["UnrealEngine5-Skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/teixasalone/UnrealEngine5-Skills/ue5-blueprint-workflow","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add teixasalone/UnrealEngine5-Skills","source_repo":"https://github.com/teixasalone/UnrealEngine5-Skills","install_from":"skills.sh"}},"qualityScore":"0.456","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 12 github stars · SKILL.md body (4,691 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:07:25.600Z","embedding":null,"createdAt":"2026-05-10T01:06:36.901Z","updatedAt":"2026-05-18T19:07:25.600Z","lastSeenAt":"2026-05-18T19:07:25.600Z","tsv":"'1':202 '2':241 '3':273 '4':304 '5':333 'across':606 'action':70,222,364,524,534,538 'action/custom':157 'ad':23,532 'add':126,208,371,452 'add/reuse':220 'addmappingcontext':107 'ambigu':297 'anchor':85,90,103,116 'api':84 'appli':306 'asset':45,416,539 'autom':121,492 'autowir':298 'avoid':296,387,389,423 'behavior':28,54,271,425,468,623 'bind':525,552 'bindact':111 'blueprint':3,6,24,44,119,122,130,136,149,291,503,600,636 'branch':253,272,363,472 'broken':577 'build':245 'c':625 'call':179,256 'callfunct':98 'cannot':641 'chain':30,59,244,358,481 'chang':178,633 'check':143 'class':395 'clear':267 'compat':597 'compil':142,184,338,464,573,642 'condit':473,484 'confirm':52,345 'connect':38,134,170,276,294,489 'consolid':555 'constraint':366 'context':460,521,530 'contract':146 'control':251 'core':159,242,599 'corrupt':639 'creat':262 'custom':627 'customev':100 'data':173,280,485 'debug':324 'decid':60 'dedic':238,399 'detail':82,409 'determinist':247,360 'due':643 'duplic':349,388,444,457,547 'edit':33,120,575 'effect':176,312 'engin':631 'enhanc':68,101,217,414,512,611 'ensur':528 'entrant':564 'entri':153,203,362,548,558 'error':393,647 'escal':620,621,634 'event':13,31,56,66,71,88,129,154,158,204,211,223,233,374,385,455,514,535,541 'event-nod':232 'eventgraph':48 'everi':147 'exact':79,287,507 'exec':171,277,475,480 'execut':189,268,284 'exist':215,258,303,329,381,401,515 'expect':188 'explicit':250,332,430 'extens':626 'fail':490 'failur':432 'fast':114 'fast-path':113 'featur':10,150,378 'feedback':314 'final':357,411 'fire':439,542 'first':63,77,212,375 'fix':449,478,501,527,554,586 'flag':568 'flow':252 'focus/context':448 'function':29,50,255,584,592 'generic':231 'graph':7,17,32,47,51,74,144,197,259,403,463,570,601 'graph-level':73 'guard':561 'guess':235,396 'guidanc':39 'handl':433 'hidden':424 'hotkey':368 'identifi':42 'implement':11,198,616 'incomplet':200 'input':12,27,61,69,102,127,209,218,221,239,350,372,415,421,441,447,453,513,612 'inputact':94 'inputactionev':96,226 'inputkey':92 'inspect':140,187,286,506 'integr':342 'intent':320 'involv':22 'isol':318 'item':193 'keep':265,315,379 'key':65,128,210,373,384,435,445,454 'key/action':355 'key/input':156 'keyboard':26,86,205,377 'latent':628 'latent/timer':427 'later':323 'legaci':64 'level':37,75,169,408 'link':578 'locat':440,471,493,519,546,576 'lock':283,638 'logic':25,57,160,243,248 'longer':572 'mandatori':367 'map':459,520,529 'match':537 'meaning':164 'method':183 'minim':246 'minimum':162 'mismatch':500 'miss':195 'modifi':123,131 'multipl':300,543 'must':151 'name':289,497 'never':517 'new':420,615 'node':14,89,161,165,224,234,264,317,351,394,428,442,446,494,536,549,559,580,593,602,629 'node/pin':80,186 'note':598 'one':266,557 'oper':125,133,240,400 'order':190,285,361,477 'output':58,316,365,412 'output/side':175 'overload':301,499 'path':115,227,269,328,461,526,553,565,613 'per':270 'perform':230 'pin':36,135,139,168,174,274,278,281,288,295,302,341,407,476,486,488,496,508,589 'pin-level':35,167,406 'plugin':632 'prefer':117,257,413,610 'press':436 'produc':72 'project':646 'queri':137,292,504 'quick':40 're':563 're-entr':562 'reconnect':587 'redund':263 'refresh':591 'registr':522 'remov':456 'removemappingcontext':109 'reorder':479 'repeat':551 'replac':581 'request':21,53,148,206,219,431 'requir':166,588,624 'reus':214,380 'reuse/create':450 'rout':62 'rule':369 'run':502 'separ':402 'sequenc':254 'side':311 'signatur':585,594 'simplifi':322 'skill' 'skill-ue5-blueprint-workflow' 'sourc':155 'source-teixasalone' 'spawn':180 'spawn/call/ui':313 'specifi':152 'stabl':605 'stage':145 'stale':583 'start':41 'state':177,307,339,567 'state/output':305 'status':185 'step':76,404 'success/fail':327 'summar':356 'summari':336 'symptom':434,462,487,511,540,569 'system':422 'target':43 'time':544 'tool':112 'topic-aec' 'topic-agent-skills' 'topic-animations' 'topic-blender' 'topic-camera' 'topic-collisions' 'topic-computer-vision' 'topic-dotnet' 'topic-embodied-ai' 'topic-game-framework' 'topic-gaussian-splatting' 'topic-graphics' 'tri':237 'trial':391 'trial-and-error':390 'trigger':518 'true':216,382 'two':163 'type':443 'ue5':2 'ue5-blueprint-workflow':1 'ue5.6':595,607 'ue5.6/ue5.7':5 'ue5.7':83,596,609 'uenhancedinputcompon':110 'uenhancedinputlocalplayersubsystem':106,108 'ui':181 'uinputact':104,417 'uinputmappingcontext':105,418 'uk2node':91,93,95,97,99,225 'unexpect':545 'unless':429 'unrel':645 'updat':308 'use':19,207,370 'valid':18,182,334,337 'variables/functions':260 'variables/tags':309 'variant':495 'verifi':458,483 'version':619 'via':290,451 'warn':466 'wire':15,81,275,330,344,510 'workflow':4,8,201 'wrong':470","prices":[{"id":"6165ab5b-0623-47f8-a9ec-d39e4ab8d5c9","listingId":"5c97f072-42b1-44a1-a627-b4f05a168118","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"teixasalone","category":"UnrealEngine5-Skills","install_from":"skills.sh"},"createdAt":"2026-05-10T01:06:36.901Z"}],"sources":[{"listingId":"5c97f072-42b1-44a1-a627-b4f05a168118","source":"github","sourceId":"teixasalone/UnrealEngine5-Skills/ue5-blueprint-workflow","sourceUrl":"https://github.com/teixasalone/UnrealEngine5-Skills/tree/main/skills/ue5-blueprint-workflow","isPrimary":false,"firstSeenAt":"2026-05-10T01:06:36.901Z","lastSeenAt":"2026-05-18T19:07:25.600Z"}],"details":{"listingId":"5c97f072-42b1-44a1-a627-b4f05a168118","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"teixasalone","slug":"ue5-blueprint-workflow","github":{"repo":"teixasalone/UnrealEngine5-Skills","stars":12,"topics":["2d","aec","agent-skills","animations","blender","camera","collisions","computer-vision","dotnet","embodied-ai","game-framework","gaussian-splatting","graphics","machine-learning","ue4-program","unreal-engine","virtual-worlds","webgl","webgl2","webxr"],"license":"mit","html_url":"https://github.com/teixasalone/UnrealEngine5-Skills","pushed_at":"2026-05-18T15:42:31Z","description":"Provide reusable workflows for Unreal Engine 5.6/5.7 to simplify Blueprint, C++, UI, PCG, replication, debugging, and performance tasks.","skill_md_sha":"269d5d6a364cc971af9837d81460ddf0dcb27f07","skill_md_path":"skills/ue5-blueprint-workflow/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/teixasalone/UnrealEngine5-Skills/tree/main/skills/ue5-blueprint-workflow"},"layout":"multi","source":"github","category":"UnrealEngine5-Skills","frontmatter":{"name":"ue5-blueprint-workflow","description":"UE5.6/UE5.7 Blueprint graph workflow for feature implementation, input events, node wiring, and graph validation. Use when requests involve adding Blueprint logic, keyboard input behavior, function chains, event graph edits, or pin-level connection guidance."},"skills_sh_url":"https://skills.sh/teixasalone/UnrealEngine5-Skills/ue5-blueprint-workflow"},"updatedAt":"2026-05-18T19:07:25.600Z"}}