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)
|
## 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
|
```json
|
||||||
[/Script/Spaghetti.SpaghettiProjectSettings]
|
{
|
||||||
TeamId=your-team-uuid
|
"team_id": "your-team-uuid",
|
||||||
ProjectId=your-project-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
|
## 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.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.",
|
"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",
|
||||||
|
|||||||
+26
-37
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: ue5-unreal
|
name: ue5-unreal
|
||||||
description: >
|
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
|
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,32 +17,28 @@ connect — a browser window opens for sign-in at spaghetti.gg).
|
|||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
Project context is **optional**. If present, it lives in the project's
|
Your UE5 project must have a `.spaghetti` file at its root containing
|
||||||
`Config/DefaultGame.ini` under `[/Script/Spaghetti.SpaghettiProjectSettings]`
|
`team_id` and `project_id`. If no `.spaghetti` exists, the first tool call
|
||||||
(`TeamId`, `ProjectId`, written by the Spaghetti editor connector's Project
|
returns an Agentic Directive instructing you to create one. Follow it.
|
||||||
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
|
## 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
|
**When to call:** The user reports a UE5 crash, paste an output log, or
|
||||||
mentions a crash dump / minidump — or wants structured findings from any UE
|
mentions a crash dump / minidump.
|
||||||
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:** 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
|
**Safety:** Read-only analysis. Returns a diagnosis + suggested fix; does
|
||||||
not modify project files.
|
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
|
**When to call:** The user asks about asset cleanup, naming conventions, unused
|
||||||
assets, missing LODs, or compliance reports.
|
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
|
**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.
|
||||||
|
|
||||||
### Research tools (free)
|
### Smart Librarian (`spaghetti/search_kb`)
|
||||||
|
|
||||||
**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 — or wants to search their project's ingested
|
or how specific systems work. Also for snippet search (verified node setups,
|
||||||
logs and knowledge.
|
Blueprint patterns).
|
||||||
|
|
||||||
- **`search_docs_code`** — semantic search over curated UE engine
|
**What it does:** Semantic search over two knowledge bases:
|
||||||
documentation and source code.
|
- **Team KB:** your project's private RAG index (studio docs, past bug
|
||||||
- **`search_patterns`** — known engine patterns and anti-patterns (verified
|
resolutions, conventions).
|
||||||
node setups, Blueprint conventions).
|
- **UE5 Engine Graph:** GraphRAG over the public UE 5.8 source for multi-hop
|
||||||
- **`search_logs_temporal`** — the project's ingested log events over time
|
reasoning about engine architecture.
|
||||||
(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.
|
**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
|
**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.).
|
||||||
@@ -101,11 +92,9 @@ 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 and billing
|
## Context
|
||||||
|
|
||||||
The `Config/DefaultGame.ini` Spaghetti section (see Prerequisites) identifies
|
The `.spaghetti` file at the project root identifies which team and project
|
||||||
which team and project this UE5 project belongs to; billed tools draw from
|
this UE5 project belongs to. All tool calls are billed to the team's Spaghetti
|
||||||
that team's wallet — the research tools are free. On `402 Payment Required`,
|
wallet. If you see a `402 Payment Required`, direct the user to
|
||||||
direct the user to top up at `spaghetti.gg/billing`. A `403` with a portal
|
`spaghetti.gg/billing` to top up.
|
||||||
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