Unreal Enhanced Input Setup
kevinpbuckley/VibeUE
Creates and wires Unreal Engine Enhanced Input assets through VibeUE's InputService: Input Actions, Mapping Contexts, key bindings, triggers and modifiers.
A skill your agent uses when an agent drives Unreal Engine 5.8 on a Mac for any task: Editor Python (the unreal module), headless UnrealEditor-Cmd -run=pythonscript jobs, Epic's Unreal MCP server…
$ npx skills add scenario-labs/skills --skill scenario-unreal-expert -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scenario-labs/skills scenario-unreal-expert --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/game-engines/unreal/scenario-unreal-expert .claude/skills/scenario-unreal-expert && rm -rf skills-srcUse ~/.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/
Install the "scenario-unreal-expert" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-expert into .claude/skills/scenario-unreal-expert/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-unreal-expert", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-expertType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add scenario-labs/skills --skill scenario-unreal-expert -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scenario-labs/skills scenario-unreal-expert --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/game-engines/unreal/scenario-unreal-expert .agents/skills/scenario-unreal-expert && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scenario-unreal-expert" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-expert into .agents/skills/scenario-unreal-expert/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-unreal-expert", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scenario-labs/skills --skill scenario-unreal-expert -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scenario-labs/skills scenario-unreal-expert --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/game-engines/unreal/scenario-unreal-expert .cursor/skills/scenario-unreal-expert && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scenario-unreal-expert" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-expert into .cursor/skills/scenario-unreal-expert/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-unreal-expert", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/scenario-labs/skills.git --path skills/game-engines/unreal/scenario-unreal-expert--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add scenario-labs/skills --skill scenario-unreal-expert -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scenario-labs/skills scenario-unreal-expert --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/game-engines/unreal/scenario-unreal-expert .gemini/skills/scenario-unreal-expert && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scenario-unreal-expert" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-expert into .gemini/skills/scenario-unreal-expert/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-unreal-expert", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install scenario-labs/skills scenario-unreal-expertInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add scenario-labs/skills --skill scenario-unreal-expert -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/game-engines/unreal/scenario-unreal-expert .github/skills/scenario-unreal-expert && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scenario-unreal-expert" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-expert into .github/skills/scenario-unreal-expert/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-unreal-expert", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scenario-labs/skills --skill scenario-unreal-expert -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install scenario-labs/skills scenario-unreal-expert --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/game-engines/unreal/scenario-unreal-expert .opencode/skills/scenario-unreal-expert && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scenario-unreal-expert" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-expert into .opencode/skills/scenario-unreal-expert/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-unreal-expert", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
scenario-unreal-expertA skill your agent uses when an agent drives Unreal Engine 5.8 on a Mac for any task: Editor Python (the unreal module), headless UnrealEditor-Cmd -run=pythonscript jobs, Epic's Unreal MCP server…
Scenario Unreal Expert is an agent skill from scenario-labs/skills. Use when an agent drives Unreal Engine 5.8 on a Mac for any task: Editor Python (the unreal module), headless UnrealEditor-Cmd -run=pythonscript jobs, Epic's Unreal MCP server, the Remote Control API, console commands and cvars; when a script breaks on 5.8 (EditorLevelLibrary, Remote Control calls refused, Substrate materials black, MRQ presets); when a level, material, shot or build must be judged by numbers and a screenshot before it is called done; or when a brief must go to the right scenario-unreal-…
Its SKILL.md is about 6.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts and reference files (for example `references/python-reliability.md`, `references/sources.md` and `references/toolkit-map.md`).
It sits in Game Development, covering Game development. It works with Python, Model Context Protocol and Unreal Engine. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f6f8ab7. It shows what the files ask for, not the result of running them.
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.
Ships 6 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Scenario Unreal Expert loads about 6.4k tokens when it runs, and up to ~30k if it reads all its reference files. Until then it costs about 136 tokens; SKILL.md has 2,052 words of instructions outside code blocks.
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.
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); the scripts in this folder are not scanned.
The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 2,052 words, ~6,364 tokens.
.claude/skills/scenario-unreal-expert/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Expert Unreal work is a loop run against numbers: set the budget, build one stage, measure it, look at it, fix it, then advance. An agent without a mouse gets there by choosing the right channel for each action, working like the Details panel (one transaction, explicit saves), and never trusting its own eyes alone. This skill is the protocol, the shared toolkit in scripts/, and the map to the team. Target: UE 5.8 on macOS Apple Silicon. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.
Status (2026-09-24): UE 5.8 is not installed. Every in-engine call in scripts/ and references/ is not yet run in Unreal. The pure-Python parts ran offline and pass (eight test files, 314 checks on Python 3.14, 311 on 3.9). First action once the engine is installed: tests/code/unreal-expert/run_all.sh --live with UE_TEST_PROJECT set to a scratch project, then references/ue-5.8-traps.md section 7.
| Channel | Use for | Rules |
|---|---|---|
Epic Unreal MCP (plugin ModelContextProtocol, Experimental), your MCP client via .mcp.json | structured edits covered by shipped toolsets (actors, scene, material instances, Sequencer, PCG, UMG, animation), in the open editor | Enable Unreal MCP and All Toolsets; if "connected but can do nothing", add Editor Toolset, which Epic's webinar says the docs omit (Sam Deiter, k0tgmrBuIJc [00:18:13]). Start with -ModelContextProtocolStartServer -ModelContextProtocolPort=8000 or ModelContextProtocol.StartServer; ModelContextProtocol.GenerateClientConfig ClaudeCode writes .mcp.json; editor first, agent second. Calls run serially on the game thread: never overlap them. describe_toolset only for the toolset you need now: Niagara's is "almost a quarter of a million" (k0tgmrBuIJc [00:46:04]). Loopback, no auth. |
Editor Python in the running editor (ue_remote.PythonRemote, or a custom Python toolset on the MCP server) | loops, audits, anything toolsets lack, screenshots | Enable Python Remote Execution (Project Settings > Plugins > Python). Full unreal API; the editor ticks between calls. One call = one named transaction that reports what it did. |
Headless commandlet (ue_run.run_python, UnrealEditor-Cmd <uproject> -run=pythonscript) | audits, imports, batch edits, validation, CI, when no editor has the project open | No level loaded (map= loads one), fewer modules, no rendering. The boot waits for the Asset Registry (get_asset_registry().wait_for_completion(), 5.8 batch example); a job passes only on its boot's job-id UE_RESULT line, never on the exit code. A commandlet that saves must not touch a project an open editor has loaded: the editor holds a write lock (Jamie Dale, 0guOMTiwmhk [01:17:18]). |
Full editor, one shot (mode="editor": -ExecutePythonScript; mode="latent": ticking boot that quits after) | jobs needing full modules; latent: screenshots and renders without a running editor | -ExecutePythonScript shuts down right after the script, so nothing ticks; ue_run adds -ScriptErrorsAreFatal (5.5) so a failing script fails the process. Latent jobs are generators: yield = one tick. |
Remote Control API (ue_remote.RemoteControl, 127.0.0.1:30010) | batched property writes on known objects, live presets, -game builds | Off until WebControl.StartServer. 5.8 disables remote UFUNCTION calls by default with an allow list (5.8 release notes). C++ names, WRITE_TRANSACTION_ACCESS for undo, public EditAnywhere properties only. |
| Console and cvars | stats, view modes, quality switches, HighResShot | From Python unreal.SystemLibrary.execute_console_command(world, cmd) [verify]; at launch -DPCVars= (before init, overrides read-only cvars; Profiling with Purpose, C-AjCqjKRSs [00:14:13]), not -ExecCmds. Restore what you change. |
Commandlets and UAT (ue_run.run_commandlet, run_uat) | DataValidation, ResavePackages -fixupredirects, WorldPartitionBuilderCommandlet, BuildCookRun | Headless; parse the log (ue_run.scan_log). |
Capability matrix (from the 5.8 docs and talks; tests/code/unreal-expert/jobs/job_00_probe.py confirms or corrects each row):
| Action | MCP | Python, running editor | Headless commandlet | Remote Control |
|---|---|---|---|---|
| read and edit actors, assets, properties | toolsets | yes | yes (load the level first) | public EditAnywhere properties |
| material instances and parameters | MaterialInstanceTools | yes | yes | properties only |
| material graphs | toolset (large schema) | MaterialEditingLibrary, partial: some pins unexposed (Matt Oztalay, m6mJ9r7ytks [00:13:39]) | same | no |
| Blueprint graphs, AnimGraph [verify] | Blueprint toolset [verify scope] | 5.8 BlueprintGraphEditor [verify scope] | same | no |
| Niagara emitters and modules | toolset, huge schema | no emitter or module editing | no | user parameters |
| PCG graphs | PCG toolset, primitives, fire-and-forget calls | graph API [verify] | yes | no |
| screenshots, MRG stills, PIE | via Python toolset | yes | no (use mode="latent" or -game render CLI) | no |
| landscape sculpt, foliage paint, Fracture Mode | no | no | no | no |
| cook, package, validate | no | not the cook (in-editor cook removed in 5.9) | yes, UAT | no |
Graph editors and viewport tools, substitutes: Blueprints: logic in C++ (code project, Xcode) with data-only Blueprints; template Blueprints duplicated and their defaults set; never 150 Delay nodes or unjustified Event Tick (k0tgmrBuIJc [00:56:45], [00:57:19]). Materials: instances of approved masters; node graphs, never a whole-HLSL Custom node unless required (k0tgmrBuIJc [00:39:27]). Niagara: duplicate template systems, set user parameters. PCG: compose Epic's primitives and example graphs (lDf_y-YPELo [00:05:20]). Control Rig: its "Copy Python Script". Sculpting, painting, fracturing: heightmap import, PCG, Dataflow graphs, or a human step, said plainly.
Write locks and source control: ue_run lists UnrealEditor processes holding the project (ps); pass lock_check="refuse" for jobs that save. 5.8's PythonScript commandlet enables source control before the script, so saves can check out [verify with Perforce]; ResavePackages needs -autocheckout (redirectors doc). Stop when a file you must edit is not checked out (Bardoux, MjjkWH0eT3U [00:55:27]). OFPA changelists are submitted from inside the editor: partial submits leave dangling references (World Partition doc). Content a builder regenerates, such as PCG partition actors, stays out of changelists (TbNZ4GKaTow [00:26:23]).
Name the engine call behind every toolkit call, in plans as in reports: a reader without scripts/ must be able to check each step. Write ue_review.screenshot(p, 1920, 1080) (AutomationLibrary.take_high_res_screenshot, fallback HighResShot 1920x1080), cvars and console commands literally, and close with Verified (what ran, with the number, log line or frame that proves it) and Assumed (not run in Unreal, [verify] names, defaults taken). Mapping and template: references/toolkit-map.md.
ue_env.preflight() (chip, macOS, Xcode), ue_env.find_project() (plugins, path spaces), and the project settings that change the plan: r.Substrate, Lumen, VSM, Nanite, hardware ray tracing (ue_env.read_ini_value, or the probe). Upgraded projects keep old renderer settings [added].ue_audit.verdict for content; stat unit to classify (Frame, Game, Draw, GPU, RHIT), then Insights (lean capture for "are we on budget", rich with -statnamedevents for "why", about 20% overhead, C-AjCqjKRSs [00:11:27]); ue_stat.budget_check on CSV profiler or TraceQuery JSONL. Profile a cooked Development or Test build on target hardware; this Mac is a proxy for a console. Measure before any rewrite (VMZftEVDuCE [00:16:33]); when Insights cannot explain a hitch, add a sampling profiler (C-AjCqjKRSs [00:17:30]).ue_review.image_checks: Epic's lighting agent approved an all-white frame (lDf_y-YPELo [00:17:29]). review_images gives flags and a contact sheet in one call. Judge with the domain skill's references/critique.md. After a render, look for 5.8's on-screen exposure-range warning; an MRG frame that differs from the viewport: suspect Game Overrides first (fVg5ihB8Wdc [00:03:33]).ue_review.compare for before and after parity from the same views.Never report a level, material, shot or build as done without numbers and a frame you looked at.
| Brief | Chain | Deliverable |
|---|---|---|
| Open world or level | scenario-unreal-world-building, scenario-unreal-materials (landscape, RVT), scenario-unreal-lighting-rendering, scenario-unreal-performance | streamed level, HLODs, budget report |
| Material kit | scenario-unreal-materials, then scenario-unreal-lighting-rendering (test bench), scenario-unreal-performance (shader cost) | masters, instances, permutation audit |
| Lit interior or hero still | scenario-unreal-lighting-rendering (scenario-unreal-materials for emissives), scenario-unreal-cinematics for MRG output | gameplay lighting at budget, EXR still |
| Gameplay prototype | scenario-unreal-gameplay, scenario-unreal-animation, scenario-unreal-vfx for abilities, scenario-unreal-performance | playable map, automation tests |
| Character from Maya | scenario-unreal-pipeline-automation (import), scenario-unreal-animation, scenario-unreal-gameplay | retargeted, locomotion-ready character |
| Trailer | scenario-unreal-cinematics (scenario-unreal-animation, scenario-unreal-lighting-rendering) | Sequencer shots, reviewed renders |
| VFX or destruction | scenario-unreal-vfx, scenario-unreal-performance | systems within budget |
| Batch import and build | scenario-unreal-pipeline-automation, scenario-unreal-performance (packaging) | report, validated package |
| Frame-rate rescue | scenario-unreal-performance, routing fixes to owners | proof capture, parity frames |
Handoff contract: saved assets in a named folder, the ue_audit.verdict for the receiver's profile with no error, stat or trace numbers when performance matters, the frames the sender looked at with their image_checks, each toolkit call with its engine call, and the Verified and Assumed lists. Units are centimeters, Z-up [added]. Sister teams: scenario-maya-expert (1 unit = 1 cm, Y-up in Maya), scenario-zbrush-expert, scenario-blender-expert; scenario-3d for generated meshes to finish.
scripts/, in-engine parts not yet run in Unreal)Import: import sys; sys.path.insert(0, "<this skill>/scripts"). PythonRemote.call adds that folder in the editor for one call.
ue_env.py: find_engine(version=None) (editor, editor_cmd, uat, version; UE_ROOT override), find_project(path), preflight(), plan_plugins / enable_plugins (timestamped backup), read_ini_value, xcode_status.ue_run.py: run_python(uproject, script, args=None, map=None, timeout=1800, mode="commandlet"|"editor"|"latent", strict=False, lock_check="warn") returns the UE_RESULT envelope plus log scan and warnings; job side result(obj), args(), in_commandlet(), to_jsonable(), wait_for_registry(); run_commandlet(uproject, name, args), run_uat, build_buildcookrun, launch_editor(mcp_port=), stop_editor, editor_processes, scan_log, parse_ue_result.ue_remote.py: RemoteControl(host, port).info/describe/get_property/set_property/call/batch/search_assets/console, errors carry fix hints; PythonRemote().open/exec/call/close; McpHttp().health() (reachability, tool search); loopback_only(port), pie_path, cdo_path, python_cdo_path.ue_review.py: in editor set_camera, screenshot, wait_screenshot, screenshot_views, camera_views_from_actors, render_still (MRG or MRQ preset, own queue), wait_render; offline image_checks (histogram, clipped, crushed, EV-like, center vs surround, all_white, all_black, uniform, alpha), image_verdict, compare, contact_sheet, review_images, wait_for_file, build_render_command.ue_audit.py: in editor audit_assets(paths, rules, profile), collect_facts; anywhere evaluate, build_report, verdict(report, "game"|"cinematic"|"mobile"|"prototype"); Epic prefixes, texture size and compression, Nanite, collision, LODs, slots, instance parents, Custom HLSL, After-DOF translucency, redirectors.ue_stat.py: parse_stat_unit, parse_csv_profile + csv_frames, parse_jsonl + sniff_schema + trace_frames + timer_totals, budget_check(frames, target_ms), bound_by, summarize.Domain skills add scripts/ue_<domain>.py; they never copy these. The engine call behind each function: references/toolkit-map.md.
references/ue-5.8-traps.md)EditorLevelLibrary and EditorAssetLibrary are the old API: EditorActorSubsystem, LevelEditorSubsystem, UnrealEditorSubsystem, EditorAssetSubsystem via unreal.get_editor_subsystem. Epic's own 5.8 samples still use the old names. load_level discards unsaved changes; delete_asset force-deletes and may clear undo; destination_name is ignored under Interchange.r.Substrate before authoring.MoviePipelinePrimaryConfig (not Master); set_graph_preset() for graph jobs; end frames exclusive; H.264 node Windows only.DefaultBindAddress to the LAN likely exposes the unauthenticated MCP server too [added inference]./Users/Shared/Epic Games/UE_5.8/; the editor is Engine/Binaries/Mac/UnrealEditor.app/Contents/MacOS/UnrealEditor; the -Cmd location is [verify] and find_engine falls back to the editor with -run=; UAT is RunUAT.sh; cook platform Mac.references/ue-5.8-traps.md: every 5.8 change that breaks remembered code or old tutorials, with sources, and the first-run checklist. Load before writing code from memory.references/toolkit-map.md: the engine call, command or cvar behind every toolkit function, and the report format (engine call per step, Verified and Assumed).references/python-reliability.md: unreal module idioms and procedures (subsystems, paths, transactions, saving, get-or-create, marking what you create, the write lock and source control, latent work, imports, raw screenshot loop).references/sources.md: every source, with credentials, URLs and best timestamps.© scenario-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (scripts, references) in skills/game-engines/unreal/scenario-unreal-expert of scenario-labs/skills.
Open the folder on GitHubat commit f6f8ab7
Scenario Unreal Expert 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Scenario Unreal Expert this skillscenario-labs/skills | 946 | — | ~6.4k | Automated safety check: Pass | MIT | |
| Unreal Enhanced Input Setupkevinpbuckley/VibeUE | 730 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Vibeuekevinpbuckley/VibeUE | 730 | — | ~5.2k | Automated safety check: Pass | MIT | |
| Unreal Asset Import and Exportkevinpbuckley/VibeUE | 730 | — | ~6.5k | Automated safety check: Pass | MIT | |
| Unreal BridgeTornLux/UnrealBridge | 306 | — | ~8.4k | Automated safety check: Notes | MIT | |
| Unreal Blueprint Authoringflopperam/unreal-engine-mcp | 1.1k | — | ~1.6k | Automated safety check: Pass | None |
kevinpbuckley/VibeUE
Creates and wires Unreal Engine Enhanced Input assets through VibeUE's InputService: Input Actions, Mapping Contexts, key bindings, triggers and modifiers.
kevinpbuckley/VibeUE
Unreal Engine 5 development using the VibeUE Python API. An agent skill from kevinpbuckley/VibeUE.
kevinpbuckley/VibeUE
Imports files into Unreal Engine, exports textures, reads the Content Browser selection and checks open assets via VibeUE, plus mesh reimport material fixes.
TornLux/UnrealBridge
Execute Python scripts inside a running Unreal Engine 5.3+ editor via TCP bridge.
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.
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.
scenario-labs/skills
A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…
scenario-labs/skills
A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.
scenario-labs/skills
A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…
scenario-labs/skills
A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…
scenario-labs/skills
A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…
scenario-labs/skills
A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…
Categories
A skill your agent uses when an agent drives Unreal Engine 5.8 on a Mac for any task: Editor Python (the unreal module), headless UnrealEditor-Cmd -run=pythonscript jobs, Epic's Unreal MCP server…. Scenario Unreal Expert is an agent skill from scenario-labs/skills.
Scenario Unreal Expert fits situations like: an agent drives Unreal Engine 5.8 on a Mac for any task: Editor Python (the unreal module); headless UnrealEditor-Cmd -run=pythonscript jobs; epics Unreal MCP server; the Remote Control API.
Run `npx skills add scenario-labs/skills --skill scenario-unreal-expert -a claude-code`. Or copy the skill folder (skills/game-engines/unreal/scenario-unreal-expert in scenario-labs/skills) into .claude/skills/scenario-unreal-expert in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scenario-labs/skills --skill scenario-unreal-expert -a codex`. Or copy the skill folder (skills/game-engines/unreal/scenario-unreal-expert in scenario-labs/skills) into .agents/skills/scenario-unreal-expert in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scenario-labs/skills --skill scenario-unreal-expert -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-unreal-expert, .gemini/skills/scenario-unreal-expert, .github/skills/scenario-unreal-expert and .opencode/skills/scenario-unreal-expert in your project.
Going by SKILL.md and its folder, Scenario Unreal Expert needs Python for the scripts in its folder and the command-line tools its instructions call (npx). Our summary lists: Python 3; Node.js.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Scenario Unreal Expert is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.4k tokens (SKILL.md is roughly 25k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 24k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Scenario Unreal Expert: Unreal Enhanced Input Setup (kevinpbuckley/VibeUE, 730 stars), Vibeue (kevinpbuckley/VibeUE, 730 stars), Unreal Asset Import and Export (kevinpbuckley/VibeUE, 730 stars) and Unreal Bridge (TornLux/UnrealBridge, 306 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.
Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.