Unreal Bridge
TornLux/UnrealBridge
Execute Python scripts inside a running Unreal Engine 5.3+ editor via TCP bridge.
Configure Unreal Engine project settings and editor preferences — UI appearance, toolbar icons, scale, colors, and any UDeveloperSettings subclass (ProjectSettingsService).
$ npx skills add kevinpbuckley/VibeUE --skill project-settings -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kevinpbuckley/VibeUE project-settings --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/kevinpbuckley/VibeUE.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Content/Skills/project-settings .claude/skills/project-settings && 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 "project-settings" agent skill from https://github.com/kevinpbuckley/VibeUE/tree/master/Content/Skills/project-settings into .claude/skills/project-settings/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-settings", 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/kevinpbuckley/VibeUE/tree/master/Content/Skills/project-settingsType 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 kevinpbuckley/VibeUE --skill project-settings -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kevinpbuckley/VibeUE project-settings --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kevinpbuckley/VibeUE.git skills-src && mkdir -p .agents/skills && cp -r skills-src/Content/Skills/project-settings .agents/skills/project-settings && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "project-settings" agent skill from https://github.com/kevinpbuckley/VibeUE/tree/master/Content/Skills/project-settings into .agents/skills/project-settings/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-settings", 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 kevinpbuckley/VibeUE --skill project-settings -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kevinpbuckley/VibeUE project-settings --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kevinpbuckley/VibeUE.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/Content/Skills/project-settings .cursor/skills/project-settings && 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 "project-settings" agent skill from https://github.com/kevinpbuckley/VibeUE/tree/master/Content/Skills/project-settings into .cursor/skills/project-settings/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-settings", 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/kevinpbuckley/VibeUE.git --path Content/Skills/project-settings--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 kevinpbuckley/VibeUE --skill project-settings -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kevinpbuckley/VibeUE project-settings --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kevinpbuckley/VibeUE.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/Content/Skills/project-settings .gemini/skills/project-settings && 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 "project-settings" agent skill from https://github.com/kevinpbuckley/VibeUE/tree/master/Content/Skills/project-settings into .gemini/skills/project-settings/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-settings", 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 kevinpbuckley/VibeUE project-settingsInstalls 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 kevinpbuckley/VibeUE --skill project-settings -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kevinpbuckley/VibeUE.git skills-src && mkdir -p .github/skills && cp -r skills-src/Content/Skills/project-settings .github/skills/project-settings && 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 "project-settings" agent skill from https://github.com/kevinpbuckley/VibeUE/tree/master/Content/Skills/project-settings into .github/skills/project-settings/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-settings", 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 kevinpbuckley/VibeUE --skill project-settings -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kevinpbuckley/VibeUE project-settings --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kevinpbuckley/VibeUE.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/Content/Skills/project-settings .opencode/skills/project-settings && 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 "project-settings" agent skill from https://github.com/kevinpbuckley/VibeUE/tree/master/Content/Skills/project-settings into .opencode/skills/project-settings/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-settings", 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.
project-settingsConfigure Unreal Engine project settings and editor preferences — UI appearance, toolbar icons, scale, colors, and any UDeveloperSettings subclass (ProjectSettingsService).
Project Settings is an agent skill from kevinpbuckley/VibeUE. Configure Unreal Engine project settings and editor preferences — UI appearance, toolbar icons, scale, colors, and any UDeveloperSettings subclass (ProjectSettingsService). Use when the user asks to change a project setting or editor preference, configure a UDeveloperSettings category, or read/write project config values.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts.
It sits in Game Development. It works with Unreal Engine and Python. The repository describes itself as: Unreal Engine Vibe Coding tool. The licence is MIT.
Read from SKILL.md and the folder at commit dc051be. 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 1 file in scripts/, which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Project Settings loads about 3.1k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 954 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 kevinpbuckley/VibeUE at commit dc051be, republished under its MIT licence (© kevinpbuckley). 954 words, ~3,060 tokens.
.claude/skills/project-settings/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.🔀 Registered settings moved to the engine. Category-based registered-setting access (
list_categories/list_settings/get_setting/set_setting/set_category_settings_from_json) is now Unreal 5.8's nativeConfigSettingsToolset— reach it withcall_tool(rundescribe_toolsetonConfigSettingsToolsetfor its actions/params). VibeUE'sProjectSettingsServicewas trimmed to the delta the engine doesn't cover:discover_settings_classes+ direct INI read/write (get_ini_value/set_ini_value/*_ini_array/list_ini_sections/list_ini_keys) + config save, plusset_settings_property/get_settings_propertyfor one property of a settings class by name. Use those fromexecute_python_codeas shown below.
EditorStyleSettings is NOT a Python ClassEditorStyleSettings is not discoverable via discover_python_class('unreal.EditorStyleSettings') — it returns PYTHON_CLASS_NOT_FOUND. Reach it through the engine ConfigSettingsToolset as a settings category (via call_tool), or write its values directly via raw INI:
# ❌ WRONG — will fail
discover_python_class('unreal.EditorStyleSettings') # NOT FOUND
# ✅ CORRECT — engine ConfigSettingsToolset (registered settings) via call_tool, OR the class by name:
result = unreal.ProjectSettingsService.set_settings_property(
"EditorStyleSettings", "AssetEditorOpenLocation", "MainWindow")set_ini_value writes the file you name: a bare name resolves to the project Config/ folder
("DefaultGame.ini" → Config/DefaultGame.ini), an absolute path is used as-is, and the path must end
in .ini. A bare "EditorPerProjectUserSettings.ini" therefore writes
Config/EditorPerProjectUserSettings.ini, a file no config hierarchy reads. An absolute path does reach
a user-layer file under Saved/Config/<Platform>Editor/, but the editor keeps those files in memory and
rewrites them from memory when it saves its config (at the latest when it exits), which can silently drop
a direct write. Change user settings (editor preferences such as EditorStyleSettings) with
set_settings_property, which edits the editor's in-memory copy and saves it.
Named registered-setting categories (general, maps, EditorStyleSettings, etc.) are handled by
the engine ConfigSettingsToolset. From VibeUE you instead address settings by their INI
section / key / file:
| Need | Use |
|---|---|
| Project info, maps, any registered category by name | engine ConfigSettingsToolset via call_tool |
| Read/write a known INI section+key | ProjectSettingsService.get_ini_value / set_ini_value |
| Set one property of any loaded config class, live and saved as the Settings window saves it | ProjectSettingsService.set_settings_property(class, property, value) |
| Discover which classes/sections exist | ProjectSettingsService.discover_settings_classes() |
# WRONG - folder path
"/Game/Variant_Horror.Variant_Horror"
# CORRECT - full map asset path
"/Game/Variant_Horror/Lvl_Horror.Lvl_Horror"Always verify with does_asset_exist() before setting.
The INI write methods return an FProjectSettingResult:
result = unreal.ProjectSettingsService.set_ini_value(
"/Script/EngineSettings.GeneralProjectSettings", "ProjectName", "MyGame", "DefaultGame.ini")
if not result.success:
print(f"Failed: {result.error_message}")set_ini_value writes the key into the file on disk (the rest of the file, comments included, is
kept), reloads that config branch, and reads the file back: success is false when the value did not
land, and the file is then put back exactly as it was. A section or key containing a line break, a
section containing ], and a path that does not end in .ini are refused before anything is written.
A settings object read its config at startup, so it sees the new value after a restart
(requires_restart is true); set_settings_property applies the value live as well.
get_ini_value, list_ini_keys and get_ini_array read the file on disk as it is now (one file, not
the merged config hierarchy), so they see set_ini_value, set_settings_property and hand edits at
once. get_ini_value returns the plain Key= line, resolved as GConfig resolves it; +Key= /
.Key= array lines are not its value. get_ini_array returns the Key=, +Key= and .Key= lines in
file order (-Key= removals and !Key=ClearArray are not values). For the merged value a settings
object actually uses, read get_settings_property.
set_settings_property takes any loaded config class (CLASS_Config), not only the ones the
Settings window lists, and saves it the way the Settings window does: a defaultconfig class to its
project Default*.ini, a user-config class to its user file, any other class to its config branch
under Saved/Config. The value applies live (PostEditChangeProperty runs, as for an edit in the
details panel), so an engine or editor class changes behavior immediately. Per-object-config classes
are refused.
set_ini_array works only on a settings class section (/Script/Module.Class), through
set_settings_property: an array in a layered project file needs !Key=ClearArray / +Key=
lines relative to the lower layers, which only a settings object writes correctly. It replaces the
whole array. Each value is one element in Unreal text format: an element of a struct array is a
struct literal and goes in as written; an element of a string array is passed as the plain string and
quoted for you; any other element containing a space, comma, parenthesis or quote is quoted for you.
A section named by a config class's path is read and written in the section that class really uses.
Some classes keep an older name through OverrideConfigSection: ProjectPackagingSettings lives in
/Script/DeveloperToolSettings but its settings stay under [/Script/UnrealEd.ProjectPackagingSettings],
so get_ini_value / get_ini_array / list_ini_keys / set_ini_value given the new path use that section.
# struct array: elements are struct literals, passed as written
result = unreal.ProjectSettingsService.set_ini_array(
"/Script/DeveloperToolSettings.ProjectPackagingSettings", "DirectoriesToAlwaysStageAsNonUFS",
['(Path="Movies")', '(Path="Extras/Data")'], "DefaultGame.ini")
# string array: plain values
result = unreal.ProjectSettingsService.set_ini_array(
"/Script/DeveloperToolSettings.ProjectPackagingSettings", "CulturesToStage",
["en", "pt-BR"], "DefaultGame.ini")(Registered-setting writes via the engine ConfigSettingsToolset return their own result — check it the same way.)
Project info (name/company/description) is a registered category — set it via the engine
ConfigSettingsToolset (call_tool). Or write the INI keys directly from VibeUE:
import unreal
sec = "/Script/EngineSettings.GeneralProjectSettings"
file = "DefaultGame.ini"
unreal.ProjectSettingsService.set_ini_value(sec, "ProjectName", "My RPG Game", file)
unreal.ProjectSettingsService.set_ini_value(sec, "CompanyName", "Indie Studios", file)
unreal.ProjectSettingsService.set_ini_value(sec, "Description", "An epic fantasy adventure", file)
unreal.ProjectSettingsService.save_all_config()import unreal
# Registered "maps" category → engine ConfigSettingsToolset via call_tool, OR raw INI:
result = unreal.ProjectSettingsService.set_ini_value(
"/Script/EngineSettings.GameMapsSettings", "GameDefaultMap",
"/Game/Maps/MainMenu.MainMenu", "DefaultEngine.ini")
if result.success:
unreal.ProjectSettingsService.save_all_config()
print("Default map updated and saved")import unreal
# EditorStartupMap controls which level opens when the editor launches. It is a GameMapsSettings
# property (defaultconfig, saved in Config/DefaultEngine.ini).
# Registered "maps" category → engine ConfigSettingsToolset (via call_tool), OR the class by name:
# Use full asset path format: /Game/Path/To/Level.Level
result = unreal.ProjectSettingsService.set_settings_property(
"GameMapsSettings", "EditorStartupMap", "/Game/Levels/MyLevel.MyLevel")
if result.success:
print("Editor startup map updated and saved:", result.modified_settings)
else:
print("Failed:", result.error_message)💾 If the level must be saved first (untitled level, or "save as
<name>and set as startup"): the editor world comes fromunreal.get_editor_subsystem(unreal.UnrealEditorSubsystem).get_editor_world()(NOTLevelEditorSubsystem, NOT deprecatedEditorLevelLibrary), thenunreal.EditorLoadingAndSavingUtils.save_map(world, "/Game/Maps/MyLevel"). Full workflow: load thelevel-actorsskill → "Save the Current Level".
import unreal
classes = unreal.ProjectSettingsService.discover_settings_classes()
for c in classes:
print(f"{c.class_name}: {c.property_count} properties in {c.config_file}")Listing the settings inside a named category is an engine ConfigSettingsToolset action (via
call_tool). From VibeUE you can enumerate the raw INI keys of a known section instead:
import unreal
sec = "/Script/EngineSettings.GeneralProjectSettings"
file = "DefaultGame.ini"
for key in unreal.ProjectSettingsService.list_ini_keys(sec, file):
print(f"{key} = {unreal.ProjectSettingsService.get_ini_value(sec, key, file)}")discover_settings_classes() maps each settings class to its INI section + file, so you can
locate a setting without guessing Python class names, then read its keys via raw INI:
import unreal
keyword = "AssetEditor" # partial match on class/section name
for c in unreal.ProjectSettingsService.discover_settings_classes():
if keyword.lower() in c.class_name.lower() or keyword.lower() in c.config_section.lower():
print(f"{c.class_name} -> section {c.config_section} in {c.config_file}")
for key in unreal.ProjectSettingsService.list_ini_keys(c.config_section, c.config_file):
print(f" {key}")Use discover_settings_classes() instead of guessing Python class names. Many settings classes
(e.g., EditorStyleSettings) are NOT exposed as Python classes — edit them through the engine
ConfigSettingsToolset or via their INI section.
import unreal
# List sections
sections = unreal.ProjectSettingsService.list_ini_sections("DefaultEngine.ini")
# Get value
value = unreal.ProjectSettingsService.get_ini_value("/Script/Engine.Engine", "GameEngine", "DefaultEngine.ini")
# Set value
result = unreal.ProjectSettingsService.set_ini_value(
"/Script/MyGame.CustomSettings",
"EnableDebugMode",
"True",
"DefaultGame.ini"
)Python Naming Convention: C++ types like
FProjectSettingResultare exposed asProjectSettingResultin Python (noFprefix).
discover_settings_classes())class_name, class_pathconfig_section, config_fileproperty_count, is_developer_settingssuccess, error_messagemodified_settings, failed_settingsrequires_restartexecute_python_code)scripts/configure_setting.txt — discover settings classes and read/write a project setting.© kevinpbuckley, 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 1 other file (scripts) in Content/Skills/project-settings of kevinpbuckley/VibeUE.
Open the folder on GitHubat commit dc051be
Project Settings 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 |
|---|---|---|---|---|---|---|
| Project Settings this skillkevinpbuckley/VibeUE | 726 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Unreal BridgeTornLux/UnrealBridge | 305 | — | ~8.4k | Automated safety check: Notes | MIT | |
| Fmodel Unpackpa001024/dna-builder | 136 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Scenario Unreal Cinematicsscenario-labs/skills | 931 | — | ~5.1k | Automated safety check: Pass | MIT | |
| Scenario Unreal Pipeline Automationscenario-labs/skills | 931 | — | ~5k | Automated safety check: Pass | MIT | |
| Scenario Unreal Expertscenario-labs/skills | 931 | — | ~6.4k | Automated safety check: Pass | MIT |
TornLux/UnrealBridge
Execute Python scripts inside a running Unreal Engine 5.3+ editor via TCP bridge.
pa001024/dna-builder
This skill documents how to use the fmodel-mcp toolkit (a CUE4Parse-based .NET CLI plus a thin Python MCP server) to inspect and export Unreal Engine game assets — pak files, textures, meshes…
scenario-labs/skills
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-labs/skills
A skill your agent uses when importing FBX, USD, OBJ or glTF from Maya, ZBrush or Blender into Unreal Engine 5.8 in bulk or reimporting changed files, writing Editor Python tools, Interchange…
scenario-labs/skills
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-labs/skills
A skill your agent uses when building or debugging UE5 gameplay: a character with double jump or dash, abilities with cooldowns, enemy AI that patrols, chases and attacks, a health bar or HUD…
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 edits Unreal Engine Animation Montages through AnimMontageService: sections, slots, segments, branching points, notifies and blend settings.
kevinpbuckley/VibeUE
Creates and edits AnimSequence keyframes and bone tracks in Unreal Engine through AnimSequenceService, following an inspect, preview, validate and bake workflow with correct bone-space handling.
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.
kevinpbuckley/VibeUE
Changes Unreal Engine console variables, scalability levels and raw INI values through VibeUE's Python API, now that registered settings moved to the engine's own toolset.
kevinpbuckley/VibeUE
Creates and wires Unreal Engine Enhanced Input assets through VibeUE's InputService: Input Actions, Mapping Contexts, key bindings, triggers and modifiers.
Works with
Categories
Configure Unreal Engine project settings and editor preferences — UI appearance, toolbar icons, scale, colors, and any UDeveloperSettings subclass (ProjectSettingsService). Project Settings is an agent skill from kevinpbuckley/VibeUE. Configure Unreal Engine project settings and editor preferences — UI appearance, toolbar icons, scale, colors, and any UDeveloperSettings subclass (ProjectSettingsService).
Project Settings fits situations like: the user asks to change a project setting; editor preference; configure a UDeveloperSettings category; read/write project config values.
Run `npx skills add kevinpbuckley/VibeUE --skill project-settings -a claude-code`. Or copy the skill folder (Content/Skills/project-settings in kevinpbuckley/VibeUE) into .claude/skills/project-settings in your project. Claude Code loads it when a task matches its description.
Run `npx skills add kevinpbuckley/VibeUE --skill project-settings -a codex`. Or copy the skill folder (Content/Skills/project-settings in kevinpbuckley/VibeUE) into .agents/skills/project-settings 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 kevinpbuckley/VibeUE --skill project-settings -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/project-settings, .gemini/skills/project-settings, .github/skills/project-settings and .opencode/skills/project-settings in your project.
SKILL.md names no scripts, command-line tools or credentials: Project Settings is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Project Settings is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Project Settings: Unreal Bridge (TornLux/UnrealBridge, 305 stars), Fmodel Unpack (pa001024/dna-builder, 136 stars), Scenario Unreal Cinematics (scenario-labs/skills, 931 stars) and Scenario Unreal Pipeline Automation (scenario-labs/skills, 931 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
kevinpbuckley (a GitHub user) maintains it in kevinpbuckley/VibeUE, which has 726 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 7, 2026.
Source: kevinpbuckley/VibeUE on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.