Unreal Bridge
TornLux/UnrealBridge
Execute Python scripts inside a running Unreal Engine 5.3+ editor via TCP bridge.
A skill your agent uses when making a trailer, cutscene, cinematic or short film in Unreal Engine 5.8 with Sequencer: shot lists, master and shot sequences, cameras, lenses, depth of field, camera…
$ npx skills add scenario-labs/skills --skill scenario-unreal-cinematics -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scenario-labs/skills scenario-unreal-cinematics --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-cinematics .claude/skills/scenario-unreal-cinematics && 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-cinematics" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-cinematics into .claude/skills/scenario-unreal-cinematics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-unreal-cinematics", 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-cinematicsType 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-cinematics -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scenario-labs/skills scenario-unreal-cinematics --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-cinematics .agents/skills/scenario-unreal-cinematics && 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-cinematics" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-cinematics into .agents/skills/scenario-unreal-cinematics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-unreal-cinematics", 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-cinematics -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scenario-labs/skills scenario-unreal-cinematics --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-cinematics .cursor/skills/scenario-unreal-cinematics && 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-cinematics" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-cinematics into .cursor/skills/scenario-unreal-cinematics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-unreal-cinematics", 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-cinematics--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-cinematics -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scenario-labs/skills scenario-unreal-cinematics --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-cinematics .gemini/skills/scenario-unreal-cinematics && 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-cinematics" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-cinematics into .gemini/skills/scenario-unreal-cinematics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-unreal-cinematics", 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-cinematicsInstalls 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-cinematics -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-cinematics .github/skills/scenario-unreal-cinematics && 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-cinematics" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-cinematics into .github/skills/scenario-unreal-cinematics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-unreal-cinematics", 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-cinematics -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-cinematics --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-cinematics .opencode/skills/scenario-unreal-cinematics && 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-cinematics" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/unreal/scenario-unreal-cinematics into .opencode/skills/scenario-unreal-cinematics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-unreal-cinematics", 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-cinematicsA skill your agent uses when making a trailer, cutscene, cinematic or short film in Unreal Engine 5.8 with Sequencer: shot lists, master and shot sequences, cameras, lenses, depth of field, camera…
Scenario Unreal Cinematics is an agent skill from scenario-labs/skills. Use when making a trailer, cutscene, cinematic or short film in Unreal Engine 5.8 with Sequencer: shot lists, master and shot sequences, cameras, lenses, depth of field, camera cuts, spawnables, character animation in shots, per-shot lighting, Movie Render Graph or Movie Render Queue EXR renders, "render darker than the viewport", "first frames pop", "last frame missing", ACES or OCIO to DaVinci Resolve, the 180-degree rule, Sequencer Python, or reviewing a cut.
Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `references/critique.md`, `references/expert-notes.md` and `references/gui-paths.md`).
It sits in Game Development, covering Game development. It works with Unreal Engine and Python. 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.
9 steps, taken from the first numbered list 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 2 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 Cinematics loads about 5.1k tokens when it runs, and up to ~32k if it reads all its reference files. Until then it costs about 123 tokens; SKILL.md has 2,058 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,058 words, ~5,120 tokens.
.claude/skills/scenario-unreal-cinematics/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Expert level here means the cut is checked as data before anything is built and a render is judged on its files and frames, not the viewport. The core stance: plan offline, build in one transaction, lock timing against the music before animating, light from approved masters, render per shot through one template graph, hand linear EXRs, an edit and a color note to the grade. 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.
REQUIRED BACKGROUND: scenario-unreal-expert (channels, review loop, 5.8 traps).
Status (2026-09-24): scripts/ue_cine.py and scripts/cine_render_callbacks.py are not yet run in Unreal; offline tests pass (counts: references/sources.md). In the engine, run tests/code/unreal-cinematics/job_00_probe_cine.py first.
DefaultEngine.ini under revision control (S4Iyzbl-oaE [00:15:22] [00:21:52]); CAT 5.8 schemas nest and can give each shot its own level (VP 5SJA1FfRPWs [00:19:07] [00:20:44]). Every tool is one ScopedEditorTransaction around a ScopedSlowTask, because "long running Python codes, they look really similar to a frozen engine" (SPI, moQTQzAOFVA [00:16:16])._LGT subsequences derived from them, graded by distance from their master (Glitch [00:27:18] [00:28:51] [00:29:23] [00:31:32] [00:36:59]).| Input | Changes | Default when silent |
|---|---|---|
| Delivery: graded or direct | tone curve, format, OCIO, color note | graded: EXR 16-bit half, tone curve off |
| Production record (rate, start, bias, naming) | every sequence, EDL | the project's DefaultEngine.ini; else 24 fps, start 0 (SPI 101, CAT demo 1000: match editorial) |
| Duration, shots, music | layout, stingers | the brief; a temp track before boarding |
| Aspect and filmback | lens, framing | 16:9 Digital Film [verify mm]; 2.39 crop for scope |
| Level and what exists | bindings | set possessable; cameras, characters, shot lights spawnable; master lighting in the level |
| Cast | pre-roll, cost | existing Animation Sequences; joints and meshes per character |
| Motion per shot, shutter timing | samples, pre-roll | Frame Center, odd counts |
| Exposure | continuity | Manual, physical camera, ISO compensates aperture changes |
| Channel | build, board, render | live editor (MCP, PythonRemote) for boards; ue_run or the command line for finals |
import ue_cine as C (skill scripts/, with scenario-unreal-expert's scripts/ on the path). Full code: references/procedures.md.
plan["production"]; folder template, shots in steps of 10; with CAT 5.8, shot schemas holding the _LGT schema, a level per shot when shots need unique set states (P2). Check the MCP SequencerTools toolset first [verify]. GATE: C.check_production(plan) no fail; audit_sequence seq.rate and seq.start.C.check_plan(plan): length, lenses, framing, 180-degree line, screen direction, jump cuts, DOF, pre-roll, exposure, cast, stingers, lighting groups (P1). GATE: no fail; every warn fixed or answered in the plan.C.build_from_plan(plan): master with Shots and music, a spawnable Cine Camera per shot (lens keyed, Use Field of View for LOD on), camera cut from pre-roll to the exclusive end, pre-rolled performers, <shot>_LGT with the temp light (P3); never overwrites. GATE: C.audit_sequence no fail, bind.override answered; C.empty_level_test lists only set pieces.C.board_generator(..., preroll=True): first, middle, last frame per shot plus each shot's first pre-roll frame read in isolation (GUI: Evaluate Sub Sequences In Isolation); ue_review.image_checks, contact sheet (P4). Retime (C.retime_shot), takes (C.new_take), own tools inside C.editor_tool (P5). GATE: no all-white or all-black frame, the sheet and the cut with music judged, C.ready_to_animate(plan) passes.C.lighting_masters(plan), render only those (render_jobs(plan, only=...)), director approval into plan["lighting_approved"]; then per-shot rim and kick lights in _LGT, lit through the viewport OCIO Display (P7b). GATE: C.ready_for_final_lighting(plan); luminance continuity and approval against the masters; stat unit or an Insights trace if a shot is slow.C.review_movie_cmd with the music (P10). GATE: C.check_render_output, C.first_frame_pop, C.cut_flash, then watch it with sound.CineWrittenFiles Execute Script (Editor Only); C.audit_render_settings(C.normalize_graph_snapshot(C.graph_snapshot(graph))); C.render_jobs(plan, sequences=C.active_shot_paths(master, plan)), C.render_orchestration, then C.render_generator (executor held globally) or C.mrq_command_line per shot (always -notexturestreaming) (P9). GATE: settings audit pass; C.check_manifest, C.exr_checks per sampled frame; after a crash, re-render C.shots_to_render(...) whole.C.edl(plan), review MP4, C.delivery_note(plan, settings) (Resolve interpretation), JSON reports; notes split technical or creative, three creative rounds, then a live session (Glitch [00:32:37] [00:33:40]) (P11).| Item | Value | Relative to, source |
|---|---|---|
| Hierarchical bias | root 0, +100 per level, equal values blend | shots doc |
| Pre-roll | 24 to 48 frames on cloth, hair, particles in motion | digest; tips doc |
| Engine Warm Up, idle cloth | more than 30 frames | tips doc |
| Temporal samples | Frame Close: 24 base (95% of Blur's shots), 48 fast, 64 very fast; Frame Center: odd (15, 25, 49, 65; Faucher: 15 to 31 covers 95 to 98%) | AAAhD5tEUBs [00:39:32] [00:40:05]; fVg5ihB8Wdc [00:06:01] [00:10:58] |
| AA method | None above 8 total samples | MRG image quality doc |
| Warm-up sampling | only the last 5 warm-up frames are sampled | 5.6 and 5.8 notes |
| Linear vs viewport | about 1 stop darker | 2Q3CybANHKE [00:09:39] |
| Review MP4 video bitrate | fps x 2 x 1000 kb/s (48,000 at 24 fps) | 2Q3CybANHKE [00:22:54] |
| Characters | under 200 joints | Glitch [00:05:33] |
| Master lighting | 10 to 13 per 400-shot episode, 1 to 2 days each | Glitch [00:28:51] |
check_plan, ready_to_animate, ready_for_final_lighting and audit_sequence without fail; audit_render_settings without fail or unanswered warn; frame counts with exclusive ends (check_render_output, check_manifest); EXR half, no NaN or Inf, not black, values above 1.0 in bright shots when linear, metadata present; first_frame_pop and cut_flash false; luminance jumps only where intended.| Mistake | What it looks like | Fix |
|---|---|---|
| Duplicating the master to experiment | a change leaks into the "backup" | New Take (new_take) inside the shot |
| Characters and cameras possessable | breaks in another map | spawnables; empty_level_test |
| Animating a set piece as a possessable | it snaps back after its shot | key it where needed, or spawnable (bind.override) |
| Hiding actors with the Outliner eye | back after reopening | Levels panel or a Level Visibility track |
| Several skeletal meshes, one animation track | parts do not follow | Set Leader Pose Component (check_characters) |
| Long Python tool, no progress | "frozen" editor killed mid-write | editor_tool |
| Animating before timing is locked | work on frames that get cut | board, stingers on cuts, ready_to_animate |
| Engine Warm Up for a running character | cloth snaps at frame one | pre-roll plus camera-cut warm-up |
| Expecting the last frame | "missing" frame 50 of 0 to 50 | end is exclusive; count end - start |
| Raising samples for noise | time up, noise unchanged | fix the light or post-process setting |
| Even samples with Frame Center, mixed temporal and spatial | stepping, waste | odd temporal only (or 24 with Frame Close) |
| Lighting shot by shot, no masters | late creative changes | approved masters first |
| Lighting in the default viewport, rendering linear | look shifts a stop | viewport OCIO Display |
| Linear EXRs sent with no interpretation | dark, odd colors in Resolve | delivery_note |
| Editing the shared graph per shot | every job changes | exposed variables per job |
| Overnight local queue, or a local executor | a crash loses the queue; render stops | farm manager or one process per shot; shots_to_render; start_render |
Headless render without -notexturestreaming | soft first frames | mrq_command_line |
{sequence_name}/{sequence_name}.####.exr, linear, half, metadata), <prod>.edl, the delivery note, the review MP4, contact sheets, JSON reports, the master. To scenario-unreal-lighting-rendering: shots failing continuity or noise, with frames. Farm commands to scenario-unreal-pipeline-automation; slow shots to scenario-unreal-performance.LevelSequenceEditorSubsystem.add_spawnable_from_class; no add_master_track; time functions take MovieSceneTimeUnit (seq-py doc; version deltas).references/procedures.md: P0 to P11, full code, plan fields, the template graph spec (P8). Load before writing Sequencer or render code.references/expert-notes.md: judgment per expert, timestamps, deciding conditions.references/critique.md: the rubric, mapped to code checks.references/gui-paths.md: menus and settings for the same procedures.references/sources.md: sources, credentials, URLs, timestamps; revision history.scripts/ue_cine.py (toolkit; its docstring lists every call) and scripts/cine_render_callbacks.py (the Execute Script class).© 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 7 other files (scripts, references) in skills/game-engines/unreal/scenario-unreal-cinematics of scenario-labs/skills.
Open the folder on GitHubat commit f6f8ab7
Scenario Unreal Cinematics 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 Cinematics this skillscenario-labs/skills | 946 | — | ~5.1k | Automated safety check: Pass | MIT | |
| Unreal BridgeTornLux/UnrealBridge | 306 | — | ~8.4k | Automated safety check: Notes | MIT | |
| Unreal Animation Bone Editorkevinpbuckley/VibeUE | 730 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Unreal Enhanced Input Setupkevinpbuckley/VibeUE | 730 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Unreal Gameplay Tagskevinpbuckley/VibeUE | 730 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Vibeuekevinpbuckley/VibeUE | 730 | — | ~5.2k | Automated safety check: Pass | MIT |
TornLux/UnrealBridge
Execute Python scripts inside a running Unreal Engine 5.3+ editor via TCP bridge.
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.
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
Registers and queries Unreal Engine Gameplay Tags from the editor through VibeUE, including bulk registration and hierarchy lookups, with no restart needed.
kevinpbuckley/VibeUE
Unreal Engine 5 development using the VibeUE Python API. An agent skill from kevinpbuckley/VibeUE.
kevinpbuckley/VibeUE
Creates and edits Unreal Engine Animation Montages through AnimMontageService: sections, slots, segments, branching points, notifies and blend settings.
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…
Works with
Categories
A skill your agent uses when making a trailer, cutscene, cinematic or short film in Unreal Engine 5.8 with Sequencer: shot lists, master and shot sequences, cameras, lenses, depth of field, camera…. Scenario Unreal Cinematics is an agent skill from scenario-labs/skills.8 with Sequencer: shot lists, master and shot sequences, cameras, lenses, depth of field, camera cuts, spawnables, character animation in shots, per-shot lighting, Movie Render Graph or Movie Render Queue EXR renders, "render darker than the viewport", "first frames pop", "last frame missing", ACES or OCIO to DaVinci Resolve, the 180-degree rule, Sequencer Python, or reviewing a cut.
Scenario Unreal Cinematics fits situations like: making a trailer; short film in Unreal Engine 5.8 with Sequencer: shot lists; master and shot sequences; character animation in shots.
Run `npx skills add scenario-labs/skills --skill scenario-unreal-cinematics -a claude-code`. Or copy the skill folder (skills/game-engines/unreal/scenario-unreal-cinematics in scenario-labs/skills) into .claude/skills/scenario-unreal-cinematics in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scenario-labs/skills --skill scenario-unreal-cinematics -a codex`. Or copy the skill folder (skills/game-engines/unreal/scenario-unreal-cinematics in scenario-labs/skills) into .agents/skills/scenario-unreal-cinematics 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-cinematics -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-cinematics, .gemini/skills/scenario-unreal-cinematics, .github/skills/scenario-unreal-cinematics and .opencode/skills/scenario-unreal-cinematics in your project.
Going by SKILL.md and its folder, Scenario Unreal Cinematics 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 Cinematics is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.1k tokens (SKILL.md is roughly 20k 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 27k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Scenario Unreal Cinematics: Unreal Bridge (TornLux/UnrealBridge, 306 stars), Unreal Animation Bone Editor (kevinpbuckley/VibeUE, 730 stars), Unreal Enhanced Input Setup (kevinpbuckley/VibeUE, 730 stars) and Unreal Gameplay Tags (kevinpbuckley/VibeUE, 730 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.