- 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).
4.7 KiB
name, description
| name | description |
|---|---|
| ue5-unreal | 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:
- API allowlist: only approved
unreal.EditorAssetLibraryfunctions. - Dry run: scripts default to simulation mode (log what would happen, don't execute destructive ops).
- 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.