转至内容
商品 AI Gauntlet - Agent Control Surface for Packaged Builds 的媒体 1
0 条评论

描述

Your automation stops at the editor. This does not.

Unreal has good automation inside the editor. What it has no answer for is driving a packaged build the thing you actually ship. -ExecCmds needs a console and Shipping strips it. Gauntlet can launch and watch a build, but whatever presses the buttons still has to live inside the game.

AI Gauntlet is that inside piece, exposed on a loopback socket. It never touches the console, so it works in every build configuration - including Shipping.

Point Claude Code, Cursor, or your own script at your game

python aigauntlet.py orient

One command against a Shipping build the tool has never seen, with no game-side code written for it, answers: what map, which classes with how many callable functions, what is on screen, which actor tags exist.


Use it from the first day, not just the last

The same plugin and the same verbs run in an editor game-mode build UnrealEditor.exe MyProject.uproject -game -aigauntlet against uncooked content, no cook, no package. Inner loop in the editor; internal regressions on packaged Development; external bug reports reproduced in Shipping, in the configuration the reporter was on; soak runs unattended.

No game-side code required

The reflection layer reaches any UFUNCTION and any UPROPERTY. A full commercial game's campaign was driven end to end sixty levels through object.call and object.get alone, with zero lines of plugin-specific game code.


It reaches the UI, which is the part that usually defeats automation

widgets.find enumerates live UUserWidgets with viewport-space rects (DPI scale included) and the text they actually render click a button by the word printed on it. It also reports focusable and hasFocus, the two fields behind the most common UI automation failure: a screen that answers the mouse but ignores every keypress.


Gamepad and VR simulation

Eight pad.* verbs inject controller input through the same three Slate calls real hardware uses, so it reaches UMG focus navigation and Enhanced Input with no driver. Xbox and PlayStation layouts. vr.pose and vr.state write head and hand poses for logic-only VR sessions with no headset attached.


Built to be fast, and measured

A round trip on loopback costs about 17 ms. batch runs a whole sequence in one trip six reads: 99 ms separately, 18 ms batched. input.click is one verb instead of six calls. wait.until polls on the game thread and its timeout reports the value it last saw. Measured on a real run: a campaign level solved end to end in roughly 20 seconds.


34 verbs

State (ping, snapshot, orient, actors.find, components.find, widgets.find, object.get), control (object.set, object.call, transform.set, level.open, time.set, console), input (input.key, input.axis, input.mouse, input.text, input.click, window.focus), gamepad (pad.connect, pad.disconnect, pad.button, pad.stick, pad.trigger, pad.dpad, pad.state, pad.reset), VR (vr.pose, vr.state), plumbing (batch, wait, wait.until, log.tail, screenshot).


Safe to ship

The rule is one line: do not ship this plugin enabled in a build you send to a store. Untick it before a release and the module is not compiled and not staged. Two further guards protect the build you forgot to untick: no -aigauntlet flag, no socket there is no ini key or environment variable that opens it; and a 256-bit connection token required as the first line of every connection. Security.md states what these do not protect against, in the same detail.


What it is not

Not an editor tool, it drives a running game. Not a test framework, it is the surface a framework or agent drives. Not a way to reach non-reflected C++. Not usable under -nullrhi. Not networked, loopback only, address not configurable.


Technical details

Engine: UE 5.8. Platforms: Win64 only ,the os input route (the one that reaches Slate UI) is SendInput, Windows-only in this release; macOS and Linux are not supported, not partially, not experimentally. One runtime module, PreDefault. Dependencies: engine only (Sockets, Networking, Json, InputCore, Slate, UMG). Binds 127.0.0.1 only, no outbound connections, no telemetry. Verified: 55/55 smoke suite on a packaged Shipping build (UE 5.8.1, Win64); a full 60-level campaign plus four side modes driven through the socket alone. Includes the plugin, a Python client and CLI, a CLAUDE.md an agent reads to learn the surface by itself, and documentation. log.tail is thin in Shipping because the engine compiles most UE_LOG away there. Cannot attach to an already-built exe , one repackage, then drop-in forever. No demo project in this release; docs carry worked examples for every verb.

In Engine Documentation Included, or visit https://skrots.com/aigauntlet/docs

包含格式