Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0e1dd16e7e | ||
|
|
69c6af2ed5 | ||
|
|
9a67a811ad |
@@ -30,16 +30,15 @@ Sign in once at [spaghetti.gg](https://spaghetti.gg) — your account is created
|
|||||||
|
|
||||||
## Project context (optional)
|
## Project context (optional)
|
||||||
|
|
||||||
Your UE5 project can have a `.spaghetti` file at its root:
|
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`:
|
||||||
|
|
||||||
```json
|
```ini
|
||||||
{
|
[/Script/Spaghetti.SpaghettiProjectSettings]
|
||||||
"team_id": "your-team-uuid",
|
TeamId=your-team-uuid
|
||||||
"project_id": "your-project-uuid"
|
ProjectId=your-project-uuid
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
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).
|
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).
|
||||||
|
|
||||||
## Structure
|
## Structure
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
||||||
"name": "unreal-workbench",
|
"name": "unreal-workbench",
|
||||||
"version": "0.1.1",
|
"version": "0.3.1",
|
||||||
"description": "Unreal Engine 5 agent tools — log analysis, asset auditing, engine docs research, script generation. Powered by Spaghetti Unreal AI Workbench.",
|
"description": "Unreal Engine 5 agent tools — log analysis, asset auditing, engine docs research, script generation. Powered by Spaghetti Unreal AI Workbench.",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Tinirau Ltd",
|
"name": "Tinirau Ltd",
|
||||||
|
|||||||
+37
-26
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: ue5-unreal
|
name: ue5-unreal
|
||||||
description: >
|
description: >
|
||||||
Unreal Engine 5 development assistant — crash analysis, asset auditing,
|
Unreal Engine 5 development assistant — log analysis, asset auditing,
|
||||||
knowledge-base search, and Python script generation via Spaghetti Unreal AI
|
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
|
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
|
needs expert help with crashes, asset cleanup, engine docs, or editor
|
||||||
@@ -17,28 +17,32 @@ connect — a browser window opens for sign-in at spaghetti.gg).
|
|||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
Your UE5 project must have a `.spaghetti` file at its root containing
|
Project context is **optional**. If present, it lives in the project's
|
||||||
`team_id` and `project_id`. If no `.spaghetti` exists, the first tool call
|
`Config/DefaultGame.ini` under `[/Script/Spaghetti.SpaghettiProjectSettings]`
|
||||||
returns an Agentic Directive instructing you to create one. Follow it.
|
(`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 (Phase 1 — MVP)
|
## Available tools
|
||||||
|
|
||||||
### Crash Investigator (`spaghetti/analyze_crash`)
|
### Log Analyzer (`analyze_logs`)
|
||||||
|
|
||||||
**When to call:** The user reports a UE5 crash, paste an output log, or
|
**When to call:** The user reports a UE5 crash, pastes an output log, or
|
||||||
mentions a crash dump / minidump.
|
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
|
**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
|
root-cause nodes or C++ pointers, and returns a precise fix with context from
|
||||||
the proprietary UE5 bug knowledge base.
|
the proprietary UE5 bug knowledge base.
|
||||||
|
|
||||||
**Input:** Crash log text (paste the Output Log contents or the relevant
|
**Input:** Log text (paste the Output Log contents or the relevant section).
|
||||||
section).
|
|
||||||
|
|
||||||
**Safety:** Read-only analysis. Returns a diagnosis + suggested fix; does
|
**Safety:** Read-only analysis. Returns a diagnosis + suggested fix; does
|
||||||
not modify project files.
|
not modify project files.
|
||||||
|
|
||||||
### Asset Janitor (`spaghetti/audit_assets`)
|
### Asset Janitor (`tidy_assets`)
|
||||||
|
|
||||||
**When to call:** The user asks about asset cleanup, naming conventions, unused
|
**When to call:** The user asks about asset cleanup, naming conventions, unused
|
||||||
assets, missing LODs, or compliance reports.
|
assets, missing LODs, or compliance reports.
|
||||||
@@ -52,21 +56,26 @@ generates compliance reports.
|
|||||||
**Safety:** Audit is read-only. If the user wants to apply fixes, use
|
**Safety:** Audit is read-only. If the user wants to apply fixes, use
|
||||||
Tool-Maker to generate a dry-run Python script first.
|
Tool-Maker to generate a dry-run Python script first.
|
||||||
|
|
||||||
### Smart Librarian (`spaghetti/search_kb`)
|
### Research tools (free)
|
||||||
|
|
||||||
**When to call:** The user asks about UE5 engine architecture, best practices,
|
**When to call:** The user asks about UE5 engine architecture, best practices,
|
||||||
or how specific systems work. Also for snippet search (verified node setups,
|
or how specific systems work — or wants to search their project's ingested
|
||||||
Blueprint patterns).
|
logs and knowledge.
|
||||||
|
|
||||||
**What it does:** Semantic search over two knowledge bases:
|
- **`search_docs_code`** — semantic search over curated UE engine
|
||||||
- **Team KB:** your project's private RAG index (studio docs, past bug
|
documentation and source code.
|
||||||
resolutions, conventions).
|
- **`search_patterns`** — known engine patterns and anti-patterns (verified
|
||||||
- **UE5 Engine Graph:** GraphRAG over the public UE 5.8 source for multi-hop
|
node setups, Blueprint conventions).
|
||||||
reasoning about engine architecture.
|
- **`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 your project's knowledge base.
|
**Input:** Natural-language query about UE5 or the project's knowledge base.
|
||||||
|
|
||||||
### Tool-Maker (`spaghetti/make_tool`)
|
### Tool-Maker (`make_tool`)
|
||||||
|
|
||||||
**When to call:** The user wants to automate a UE5 editor task (batch-rename
|
**When to call:** The user wants to automate a UE5 editor task (batch-rename
|
||||||
assets, apply materials, configure project settings, etc.).
|
assets, apply materials, configure project settings, etc.).
|
||||||
@@ -92,9 +101,11 @@ script modifies assets, wrap in `unreal.ScopedTransaction` for undo support.
|
|||||||
- **Use ScopedTransaction** for reversible operations (enables Ctrl+Z).
|
- **Use ScopedTransaction** for reversible operations (enables Ctrl+Z).
|
||||||
- **Read the Output Log** for errors after any automated editor operation.
|
- **Read the Output Log** for errors after any automated editor operation.
|
||||||
|
|
||||||
## Context
|
## Context and billing
|
||||||
|
|
||||||
The `.spaghetti` file at the project root identifies which team and project
|
The `Config/DefaultGame.ini` Spaghetti section (see Prerequisites) identifies
|
||||||
this UE5 project belongs to. All tool calls are billed to the team's Spaghetti
|
which team and project this UE5 project belongs to; billed tools draw from
|
||||||
wallet. If you see a `402 Payment Required`, direct the user to
|
that team's wallet — the research tools are free. On `402 Payment Required`,
|
||||||
`spaghetti.gg/billing` to top up.
|
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.
|
||||||
|
|||||||
Reference in New Issue
Block a user