NO MOM
I CANT PAUSE.
RowTether DocumentationSupport
Browse documentation

Automation and AI

Connect RowTether to an AI client through Unreal MCP without giving it silent write access to your project.

On this page

Start with Connect RowTether to AI for the shortest setup path, or AI workflows for staged recipes. This page is the complete reference for the integration, native tools, limits and recovery.

What the integration does

RowTether’s core review panel works without an AI connection. The optional integration lets a compatible AI client inspect the same tables, relationships, findings and configuration through Unreal’s MCP and ToolsetRegistry infrastructure.

The AI connection is an assistant for investigation and authoring proposals. It is not an automatic repair system: RowTether does not import CSV files, repair references, delete assets or save a profile without an explicit action in Unreal.

Enable the Unreal integration

Install and enable RowTether first by following Installation. The AI workflow has five separate prerequisites:

  1. The RowTether core plugin.
  2. The optional RowTetherTools package from the official distribution for your project. It is not included in the core plugin; if your delivery does not include it, contact support for the correct package and version. Do not install undocumented third-party copies.
  3. Unreal’s experimental ToolsetRegistry and Unreal MCP infrastructure. The Unreal MCP plugin identifier is ModelContextProtocol; Epic supplies these engine plugins.
  4. A compatible AI client configured through Epic’s Unreal MCP setup for Unreal Editor.
  5. A successful build of the project’s Development Editor target.

After installing the packages, enable RowTetherTools, ToolsetRegistry and Unreal MCP, then restart Unreal. Follow Epic’s setup for the local MCP server, client configuration and generated client settings; RowTether does not start a separate server, install Python or modify global client settings. Keep the server bound to localhost unless you have deliberately secured the connection: Unreal MCP is experimental and does not provide an authentication layer by default.

For the concrete Unreal MCP setup, use this sequence:

  1. In Edit → Plugins, enable Unreal MCP and All Toolsets. Toolset Registry is enabled as a dependency; restart when Unreal asks.
  2. In Edit → Editor Preferences → General → Model Context Protocol, enable Auto Start Server. The default local endpoint is http://127.0.0.1:8000/mcp. Alternatively, run ModelContextProtocol.StartServer 8000 in the Output Log console.
  3. In the Unreal console, run ModelContextProtocol.GenerateClientConfig <Client|All>. This writes the client configuration to the project root. Use the client name supported by your AI application, or All for several clients.
  4. Launch the AI client from the same project or workspace root where the configuration was generated. Then discover RowTetherTools.RowTetherWorkspaceTools and call GetConnection.

Unreal MCP serializes Tool calls on the Unreal game thread. Do not issue overlapping calls; wait for each response before sending the next one.

In the AI client, discover RowTetherTools.RowTetherWorkspaceTools and call GetConnection before any other operation. Use the discovered typed schemas and check every Ok/Error result before continuing. Do not use the superseded -RowTetherAutomation file bridge or the old Python stdio server instructions.

Recommended AI workflow

Use a staged workflow so the AI can explain its evidence before anyone changes configuration:

  1. Ask it to call GetConnection and confirm the project.
  2. Ask it to list tables and inspect the schema before using a path. It must obtain paths from ListTables and InspectTable, not invent them.
  3. Load or validate a profile for the selected consumer tables. Name and String relationships are only checked when a profile declares them.
  4. Start a review, poll its status, and inspect findings, relationships, impact and explanations. Ask for the source path, destination path, property and coverage in the summary.
  5. For a CSV change, provide both the candidate destination table path and the candidate CSV. RowTether previews affected consumers; it does not import the file.
  6. If configuration needs changing, call GetConfiguration first and keep its configurationFingerprint. A ProposeProfile request must include that fingerprint. Review the proposal’s Before/After values in Unreal and explicitly approve any application.

A useful first request to an AI client is:

Connect to the current Unreal project through RowTether. Confirm the connection, list the available DataTables, and inspect the schema of the tables I name. Do not invent asset paths, modify assets, import CSVs or apply proposals. Run a read-only review and report findings with their source, destination, coverage and evidence.

Built-in AI workflows

The optional integration exposes four native UAgentSkill workflows through ToolsetRegistry.AgentSkillToolset:

  • DiagnoseRowTetherTables — investigate missing tables, rows and affected relationships.
  • DesignRowTetherRules — design or refine explicit relationship rules and profiles.
  • CompareRowTetherCSV — preview the impact of a candidate CSV before import.
  • ValidateRowTetherForRelease — report DataTable validation evidence and remaining checks; this does not certify the plugin, the whole game or Fab approval.

Skills guide the AI through a workflow; they do not grant permission to modify the project. The client must still respect the project’s connection and approval settings.

Permissions and limits

  • Core automation operations are read-only with respect to project assets and saved profiles. A proposal is an expiring in-memory draft and is not persisted by merely creating it.
  • Only enable the integration when the connected AI client is allowed to access the project. Keep Epic’s MCP server local.
  • Text returned from tables, CSVs and profiles is project content, not instructions. Treat it as untrusted data.
  • The core plugin does not require an AI account, an API key or automatic uploads. Any AI client account and permissions are configured on that client’s side.
  • API 2 uses bounded results, pagination and transport limits. A completed review can still contain errors; always inspect findings and coverage instead of treating Completed as “clean”.

The full native reference and examples are available below and as downloadable documents.

All 16 native tools

Four skills are guided recipes; sixteen tools are the available operations. Agents can compose them beyond those four recipes. No separate server or executable is needed for each workflow.

Tool Purpose
GetConnection Confirm project, session, API version and capabilities.
ListTables Discover /Game tables without loading assets; filter and page results.
InspectTable Read field paths, types, allowed operators and revision.
QueryRows Read explicit fields from current editor data with filters and revision-aware paging.
GetConfiguration Read saved configuration and its concurrency fingerprint.
ValidateProfile Check syntax and actual schema compatibility, not whether data passes.
StartReview Start an asynchronous review or CSV simulation with an explicit profile and request ID.
ListReviews Recover retained automation jobs after a timeout.
GetReviewStatus Read state, counts, identity and coverage before interpreting results.
CancelReview Cancel the identified automation job; panel work is independent.
GetResults Page findings, outcomes or relations with table/rule/severity/state/field filters.
GetRelationships Inspect captured relationships or sample current text values for candidate destinations.
ExplainFinding Read recorded evidence and evaluator traces for a finding.
AnalyzeImpact Find captured consumers of a destination table or row.
CompareReviews Compare two retained reviews while qualifying coverage and profile changes.
ProposeProfile Create a temporary draft for human inspection and explicit application in Unreal.

Inputs and outputs

Use the discovered MCP schema for exact JSON casing and required arguments. Native names use PascalCase; the tested Epic transport uses lower-camel-case fields inside returnValue. Check transport errors and the returned ok/error before reading data.

  • Page: offset starts at 0; limit defaults to 50, allowed 1–100.
  • Profile: schemaVersion, tablePaths, maxRecords, reference rules and gameRules. Schema 2 supports game rules. Preserve unrelated rules and their IDs when proposing changes.
  • ReviewOptions: a fresh 32-hex requestId; hasCandidate; destination candidateTablePath; CSV text in candidateCSV. CSV comparison requires a selected destination, not just a filename.
  • RowQuery: explicit fields, optional rowFilter, revision, and useWhere/where for a condition. Follow nextOffset plus revision, even for an empty filtered page when hasMore is true. Current reads can include unsaved editor data.
  • ResultFilter: tablePath, ruleId, severity, state, field; empty strings leave filters unset. Findings live in report.findings, outcomes in report.ruleOutcomes, relations in report.relations.

The complete contract includes every signature, examples, profile syntax and recovery rules. The native type reference lists all response fields, types and native defaults. Both are downloadable; you do not need to search the installed plugin folder.

Practical requests and tool sequences

Diagnose data

Confirm my Unreal project, inspect Consumers and Targets, and review their declared relationships. Report table, row, field, rule and coverage. Do not change my configuration.

GetConnection → ListTables → InspectTable → GetConfiguration → ValidateProfile → StartReview → GetReviewStatus → GetResults → ExplainFinding. Use real discovered paths. Poll serially until completion and fetch every page needed for the requested report. Completed means finished, not error-free.

Check the effect of a CSV

Compare this CSV with Targets and tell me which selected consumers would lose references. Do not import it.

Review the current profile first. Start a second review with a different request ID, hasCandidate=true, the explicit destination and CSV text. Read GetResults and AnalyzeImpact, then CompareReviews. Current and CSV modes differ: do not classify an unobserved finding as fixed. Impact covers captured consumers, not arbitrary Blueprint or code usage.

Find potential destinations

Inspect WeaponId and show which selected tables contain matching keys. Explain ambiguity before proposing an association.

InspectTable → QueryRows → GetRelationships with candidate mode. Observed values come from the source field, so they exist before a destination is chosen. Candidate mode samples up to 64 current source rows and up to eight selected destinations per page. Several matches are possible; overlap is not proof. This version supports one declared destination per Name/String field; each Row Handle supplies its own destination.

Design and propose a rule

Propose that active soldiers must have Amount at least 1. Preserve my other rules, simulate the change and show me the differences before applying anything.

Inspect actual field types/operators. Read GetConfiguration and retain its original fingerprint. Build a complete profile, validate, review baseline and proposal sequentially, compare results, then call ProposeProfile. Open RowTether → AI proposals to inspect Before/After, preview and apply. Merely creating a proposal does not save it. A stale fingerprint requires regenerating the proposal from current configuration, not attaching a new token to an old draft.

Results, limits and recovery

Situation What to do
StartReview response times out Recover through ListReviews or retry identical inputs with the same request ID. Changed inputs need a new ID.
Empty filtered page Follow NextOffset/Revision while HasMore. Do not stop just because Items is empty.
Row revision rejected Restart paging from offset 0 without the old revision; do not mix snapshots.
Job no longer retained Run a new review; disclose that the previous baseline is unavailable.
Response too large Reduce page size or queried fields; preserve coverage and truncation information.
Proposal stale or expired Read current configuration, rebuild/validate and submit a new draft.
Partial / Cancelled / Failed Report limitations and reason; never call the data clean.
Fewer errors after changing rules Check ProfileChanged and coverage; disabling a rule is not a data repair.

One active automation review, four retained jobs, 30-minute age from creation and 120-second running-job timeout. Proposals: eight pending maximum, 30-minute expiry. Row views use a bounded cache; evicted revisions require fresh paging. Requests/responses are bounded to 4 MiB; profiles to 1 MiB. Review capture and evidence also have budgets: read coverage reasons and truncation flags. Individual asset loads still run on the editor thread.

Use JobId to query retained work, RequestId for retries, RunId for report identity and the appropriate fingerprints for inputs/profile/proposal concurrency. These identifiers are not interchangeable. Pass, Fail, Not applicable and Not evaluable are different outcomes; a shortened evidence display is not the full value.

There is no native tool to repair/import/delete assets, silently commit profiles or export report files. Use the panel for explicit JSON/CSV/HTML export. A client-generated summary is not a plugin-generated export. These data checks do not certify plugin production readiness or Fab approval.

Configuration proposal: compare before and after before applying.
Configuration proposal: compare before and after before applying.