Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c68d6fa33a |
@@ -30,15 +30,16 @@ Sign in once at [spaghetti.gg](https://spaghetti.gg) — your account is created
|
||||
|
||||
## Project context (optional)
|
||||
|
||||
Your UE5 project can be linked to a Spaghetti team and project. With the Spaghetti editor connector (UE 5.8+) installed, the link lives in the project's own configuration — Project Settings → Plugins → Spaghetti — persisted to `Config/DefaultGame.ini`:
|
||||
Your UE5 project can have a `.spaghetti` file at its root:
|
||||
|
||||
```ini
|
||||
[/Script/Spaghetti.SpaghettiProjectSettings]
|
||||
TeamId=your-team-uuid
|
||||
ProjectId=your-project-uuid
|
||||
```json
|
||||
{
|
||||
"team_id": "your-team-uuid",
|
||||
"project_id": "your-project-uuid"
|
||||
}
|
||||
```
|
||||
|
||||
No secrets — safe to commit to Git/Perforce. Everyone opening the project works on the same team/project, while each user still signs in individually. Automatic team/project wiring is on the roadmap; until then, all tools also work on your personal account without any context. Details: [spaghetti.gg/docs](https://spaghetti.gg/docs).
|
||||
Team and project ids are UUIDs. All tools also work on your personal account without this file. The file is safe to commit to Git/Perforce (no secrets).
|
||||
|
||||
## Structure
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
||||
"name": "unreal-workbench",
|
||||
"version": "0.3.1",
|
||||
"version": "0.1.1",
|
||||
"description": "Unreal Engine 5 agent tools — log analysis, asset auditing, engine docs research, script generation. Powered by Spaghetti Unreal AI Workbench.",
|
||||
"author": {
|
||||
"name": "Tinirau Ltd",
|
||||
|
||||
+26
-37
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: ue5-unreal
|
||||
description: >
|
||||
Unreal Engine 5 development assistant — log analysis, asset auditing,
|
||||
Unreal Engine 5 development assistant — crash 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
|
||||
@@ -17,32 +17,28 @@ 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.
|
||||
Your UE5 project must have a `.spaghetti` file at its root containing
|
||||
`team_id` and `project_id`. If no `.spaghetti` exists, the first tool call
|
||||
returns an Agentic Directive instructing you to create one. Follow it.
|
||||
|
||||
## Available tools
|
||||
## Available tools (Phase 1 — MVP)
|
||||
|
||||
### Log Analyzer (`analyze_logs`)
|
||||
### Crash Investigator (`spaghetti/analyze_crash`)
|
||||
|
||||
**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.
|
||||
**When to call:** The user reports a UE5 crash, paste an output log, or
|
||||
mentions a crash dump / minidump.
|
||||
|
||||
**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).
|
||||
**Input:** Crash 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`)
|
||||
### Asset Janitor (`spaghetti/audit_assets`)
|
||||
|
||||
**When to call:** The user asks about asset cleanup, naming conventions, unused
|
||||
assets, missing LODs, or compliance reports.
|
||||
@@ -56,26 +52,21 @@ generates compliance reports.
|
||||
**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)
|
||||
### Smart Librarian (`spaghetti/search_kb`)
|
||||
|
||||
**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.
|
||||
or how specific systems work. Also for snippet search (verified node setups,
|
||||
Blueprint patterns).
|
||||
|
||||
- **`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).
|
||||
**What it does:** Semantic search over two knowledge bases:
|
||||
- **Team KB:** your project's private RAG index (studio docs, past bug
|
||||
resolutions, conventions).
|
||||
- **UE5 Engine Graph:** GraphRAG over the public UE 5.8 source for multi-hop
|
||||
reasoning about engine architecture.
|
||||
|
||||
**Input:** Natural-language query about UE5 or the project's knowledge base.
|
||||
**Input:** Natural-language query about UE5 or your project's knowledge base.
|
||||
|
||||
### Tool-Maker (`make_tool`)
|
||||
### Tool-Maker (`spaghetti/make_tool`)
|
||||
|
||||
**When to call:** The user wants to automate a UE5 editor task (batch-rename
|
||||
assets, apply materials, configure project settings, etc.).
|
||||
@@ -101,11 +92,9 @@ script modifies assets, wrap in `unreal.ScopedTransaction` for undo support.
|
||||
- **Use ScopedTransaction** for reversible operations (enables Ctrl+Z).
|
||||
- **Read the Output Log** for errors after any automated editor operation.
|
||||
|
||||
## Context and billing
|
||||
## Context
|
||||
|
||||
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.
|
||||
The `.spaghetti` file at the project root identifies which team and project
|
||||
this UE5 project belongs to. All tool calls are billed to the team's Spaghetti
|
||||
wallet. If you see a `402 Payment Required`, direct the user to
|
||||
`spaghetti.gg/billing` to top up.
|
||||
|
||||
Reference in New Issue
Block a user