--- 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.