Files
unreal-workbench/skills/ue5-unreal/SKILL.md
T
basilensis 69c6af2ed5 fix: sync published content with the current platform (context contract, tool roster, version)
- README project context: .spaghetti file (rejected design) →
  Config/DefaultGame.ini [/Script/Spaghetti.SpaghettiProjectSettings]
  via the editor connector's Project Settings; "setup CLI is coming"
  dropped (CLI is reserve) in favor of roadmap-neutral wording
- SKILL.md: prerequisites now describe the ini section and the
  personal-account fallback (the old "Agentic Directive creates
  .spaghetti" mechanism never shipped); tool roster renamed to the
  live server's (analyze_logs, tidy_assets, five free research tools
  incl. project-scoped temporal ones); context/billing section
  updated with the 402=credits vs 403=sign-in/onboarding taxonomy
- plugin.json: version 0.1.1 → 0.3.1, tracking the editor connector

mcp.json unchanged — URL-only config is already correct for the
first-party AS (CIMD/DCR discovery, no credentials in the manifest).
2026-09-07 12:37:06 +03:00

112 lines
4.7 KiB
Markdown

---
name: ue5-unreal
description: >
Unreal Engine 5 development assistant — log analysis, asset auditing,
knowledge-base search, and Python script generation via Spaghetti Unreal AI
Workbench. Call these tools when the user is working in a UE5 project and
needs expert help with crashes, asset cleanup, engine docs, or editor
automation.
---
# UE5 Unreal AI Workbench Tools
This skill provides access to Spaghetti's Unreal AI Workbench MCP tools.
These tools run on a remote server (`mcp.spaghetti.gg`) and require
authentication via OAuth (your client handles this automatically on first
connect — a browser window opens for sign-in at spaghetti.gg).
## Prerequisites
Project context is **optional**. If present, it lives in the project's
`Config/DefaultGame.ini` under `[/Script/Spaghetti.SpaghettiProjectSettings]`
(`TeamId`, `ProjectId`, written by the Spaghetti editor connector's Project
Settings page). If the section is absent, tools run on the user's personal
account — that is a valid state, not an error. Do not hand-edit the ini while
the editor is running (the editor owns that file); context changes go through
the connector's Project Settings.
## Available tools
### Log Analyzer (`analyze_logs`)
**When to call:** The user reports a UE5 crash, pastes an output log, or
mentions a crash dump / minidump — or wants structured findings from any UE
log file.
**What it does:** Parses the UE5 Output Log and crash dumps, identifies
root-cause nodes or C++ pointers, and returns a precise fix with context from
the proprietary UE5 bug knowledge base.
**Input:** Log text (paste the Output Log contents or the relevant section).
**Safety:** Read-only analysis. Returns a diagnosis + suggested fix; does
not modify project files.
### Asset Janitor (`tidy_assets`)
**When to call:** The user asks about asset cleanup, naming conventions, unused
assets, missing LODs, or compliance reports.
**What it does:** Finds textures without LODs, detects naming-convention
violations (`T_`, `BP_`, etc.), identifies unused/0-reference assets, and
generates compliance reports.
**Input:** Optionally specify which checks to run (naming, LODs, unused).
**Safety:** Audit is read-only. If the user wants to apply fixes, use
Tool-Maker to generate a dry-run Python script first.
### Research tools (free)
**When to call:** The user asks about UE5 engine architecture, best practices,
or how specific systems work — or wants to search their project's ingested
logs and knowledge.
- **`search_docs_code`** — semantic search over curated UE engine
documentation and source code.
- **`search_patterns`** — known engine patterns and anti-patterns (verified
node setups, Blueprint conventions).
- **`search_logs_temporal`** — the project's ingested log events over time
(requires project context).
- **`query_temporal_relations`** — temporal knowledge-graph queries over the
project's entities and their relations (requires project context).
- **`investigate_incident`** — multi-source incident investigation across the
project's logs, entities, and relations (requires project context).
**Input:** Natural-language query about UE5 or the project's knowledge base.
### Tool-Maker (`make_tool`)
**When to call:** The user wants to automate a UE5 editor task (batch-rename
assets, apply materials, configure project settings, etc.).
**What it does:** Generates a safe, production-quality Python script using
`unreal.EditorAssetLibrary` API. The script runs via the UE 5.8 Python remote
execution bridge.
**Safety — three-layer model:**
1. **API allowlist:** only approved `unreal.EditorAssetLibrary` functions.
2. **Dry run:** scripts default to simulation mode (log what would happen,
don't execute destructive ops).
3. **Human approval:** before any destructive script runs, the user sees an
Approve/Reject dialog.
**Always show the generated script to the user before executing.** If the
script modifies assets, wrap in `unreal.ScopedTransaction` for undo support.
## Safety defaults
- **Never auto-delete assets** without explicit user confirmation.
- **Prefer dry-run mode** for any script that modifies the project.
- **Use ScopedTransaction** for reversible operations (enables Ctrl+Z).
- **Read the Output Log** for errors after any automated editor operation.
## Context and billing
The `Config/DefaultGame.ini` Spaghetti section (see Prerequisites) identifies
which team and project this UE5 project belongs to; billed tools draw from
that team's wallet — the research tools are free. On `402 Payment Required`,
direct the user to top up at `spaghetti.gg/billing`. A `403` with a portal
URL means the account needs to sign in or finish onboarding — open the URL;
retrying will not help.