Releases: JosephOIbrahim/UnrealEngine_Bridge
Release list
v0.4.0 - ue_x3d_* : the harness on the wire
ue_x3d_* -- the harness on the wire
The v0.3.0 UE<->X3D harness (x3d_bridge) is now MCP tools: Claude can export a
live level to X3D, validate it, apply transform edits back, and preview it --
inside the editor. All four are CORE-tier (mounted by default); Epic's MCP
has no X3D surface.
Added
ue_x3d_export-- serialize the current level to X3D (each actor's
quaternion transform, static mesh, material, attach parent; UE Z-up-cm ->
X3D Y-up-m).mesh_onlyby default.ue_x3d_validate-- the paper boundary as a tool: out-of-grammar nodes,
danglingUSE, wrong arity, non-X3D roots, NaN/inf -- rejected without
touching the editor.ue_x3d_apply-- apply an X3D document's transforms back to the live level
(validated, guids sanitized, emitted viaue_execute_python). Transforms in
v0.4.0; spawn/material/reparent apply are follow-ups.ue_x3d_preview-- render X3D to a standalone X_ITE browser page.- 14 async tests + exec-sim coverage for the codegen tools (stub extended with
Quat/Transform/get_actor_transform). Tier table pinned at 60 tools / 22 CORE.
Notes
- Editor-independent and CI-green. The live round-trip against a real 5.8
scene is gated onue_preflightreading green (bAllowAnyRemoteFunctionCall
applied).Bstays analytic (not glTF-calibrated) -- round trip is
basis-agnostic, so fidelity-only.
v0.3.1 - 5.8 survival: the Capability Ladder
5.8 survival -- the Capability Ladder
The bridge was silently broken on UE 5.8. 5.8 defaults
RemoteControlSettings.bAllowAnyRemoteFunctionCall to False, which blocks every
/remote/object/call with HTTP 400 "not allowed by remote control settings". So
execute_python and every codegen tool failed live -- while ue_status and the
mock-only CI stayed green. Connectivity was measured; capability never was.
Fixed
bAllowAnyRemoteFunctionCall=TrueinConfig/DefaultRemoteControl.ini--
the one line that unblocks every tool on 5.8 (localhost-only, single-trusted-
operator model; the bridge already permits arbitrary Python exec over RC).- The Remote Control error body is no longer swallowed -- the clients
returned only "Client error '400 '"; they now preserve the RC body that says
why.
Added -- the Capability Ladder (so this can't recur silently)
ue_preflight+ue_health_check(deep=true): a runtime probe that
separates reachable (a GET) from permitted / capable (a real function
call) / round-trip (the full Python path), stops at the first failure, and
returns the named cause + one-line fix with the raw RC body as evidence.- A diagnosis map (error signature -> cause -> fix) -- every future live
failure becomes a rule. - 13 tests incl. the golden failure test: the 5.8 block must surface as
rungPermittednamingbAllowAnyRemoteFunctionCall.
Why it matters: connectivity, permission, and capability are three different
signals. The bridge measured one. A health check can never again read green
while the bridge is dead -- and any failure now names its own fix.
v0.3.0 - UE<->X3D round-trip harness
UE ↔ X3D round-trip harness
A new, self-contained x3d_bridge/ package: a lossless UE↔X3D serialization harness whose single defended invariant is deserialize(serialize(level)) == level, with a validation boundary that rejects malformed edits on paper — before the live editor is ever touched.
What's in it
- Coordinate crux — one orthonormal basis
B(det −1) for UE (Z-up, LH, cm) ↔ X3D (Y-up, RH, m).B⁻¹ = Bᵀ, so the round trip is exact by construction; picking the rightBis calibration, not correctness. - Closed grammar — a fixed X3D node set + serialize/deserialize (flat, world-space, DEF/USE material dedup); UE specifics ride in
Metadata*. - Validate boundary — out-of-grammar nodes, dangling
USE, NaN/∞, wrong arity, non-X3D root all die here. - Apply seam — diffs two scenes into typed ops (spawn · transform · material · reparent) that emit
ue_execute_python. - Preview — the same X3D drops into a browser via X_ITE.
Honest status
- ✅ 55 tests — round-trip identity, the validation battery, apply-op sequences, and forward-pinned coordinate correctness. 635 total (was 580).
- ✅ Basis
Bindependently re-derived and confirmed three ways. - ⏳
Bis analytic — not yet calibrated against a live editor's glTF export (the round trip is basis-agnostic, so this is fidelity-only, never correctness). - ⏳ A library today — not yet exposed as MCP tools.
Full changelog: https://github.com/JosephOIbrahim/UnrealEngine_Bridge/blob/master/CHANGELOG.md
v0.2.0 — the Epic MCP era
The Epic MCP era
UE 5.8 ships Epic''s official Unreal MCP (830 tools with AllToolsets) for the commodity control plane. This release repositions the bridge around what Epic doesn''t ship — grounded in a live probe of Epic''s entire surface (docs/EPIC_MCP_MATRIX.md).
Highlights
- The retirement flip — default profile mounts 20 differentiated tools (editor Python, console, continuous perception + scene diffing, lighting moods, ClonerEffector, normal-aware spatial reasoning, resilience). The 36 Epic-covered commodity tools stay one env var away:
UE_MCP_PROFILE=full. - Honesty as architecture — a new exec-simulated test harness compiles and runs every generated editor script against a strict fake
unrealmodule. Proven red on the pre-fix tree; 580 tests total (was 415). All 11 confirmed lying/broken tools fixed. - UE 5.8 — retargeted and verified compiling clean;
ViewportPerceptionported for 5.8''s changed backbuffer delegate (still builds on 5.7). - Marketplace-ready plugins — branded icons, storefront metadata, and a clean strict
BuildPluginpackage. UE Bridge and Viewport Perception install engine-wide and appear in Edit → Plugins for any 5.8 project (verified loading in a Blueprint-only project). Draft listing:docs/FAB_LISTING.md. - Decrufted — the legacy Translators questionnaire runtime is gone from the ship path.
Version note: the public line continues from v0.1.1. An internal 2.x numbering was never released and is retired here. Full detail in CHANGELOG.md.
Assets
Precompiled UE 5.8 / Win64 editor plugins (drop into Engine/Plugins/Marketplace/ or a project''s Plugins/). The Python MCP server installs from source (pip install -e .).
🤖 Generated with Claude Code
v0.1.1 — documentation & presentation polish
Docs-only patch over v0.1.0 — no code or behavior changes.
Changed
- README status badges — release, CI, MIT license, Unreal Engine 5.7, Python 3.11+, plus Changelog/Security links.
- Architecture diagrams recolored to the project''s real in-code brand palette (
UEBridgeStyle): cyan = Claude/MCP bridge, gold = the connection ports (:30010/:30011), near-black = internals/runtime.
Pre-1.0: the public API, MCP tool surface, and bridge protocol may still change. See CHANGELOG.md.
Full diff: v0.1.0...v0.1.1
v0.1.0 — first tagged release
An agentic AI bridge connecting Claude Code to Unreal Engine 5.7. Claude can perceive and drive a live editor — spawn and transform actors, edit materials, light scenes, reason about space, capture the viewport, keyframe animations, and run sandboxed editor Python — all over the Model Context Protocol.
Highlights
- 56 MCP tools across 14 modules — actors, transforms, properties, assets, levels, materials, lighting, sequencer, motion graphics, blueprints, scene/spatial queries, and AST-sandboxed editor Python.
- Real editor integration — a toolbar button, a Tools-menu entry, and a dockable "UE Bridge" control panel with live status and wired Start/Stop.
- Production-minded plumbing — atomic, NTFS-safe file bridge; circuit breaker; connection pooling; adaptive timeouts. 415 tests pass in CI on Python 3.11 and 3.12.
- MIT licensed, brand-coherent across
LICENSE/README/pyproject; both UE plugins carryEngineVersion 5.7.0. - Security defaults tightened — viewport perception is opt-in (off by default), console-exec is disabled, and Python execution flows through an AST sandbox. See
SECURITY.md.
Install
Requires Unreal Engine 5.7 and Python 3.11+.
git clone https://github.com/JosephOIbrahim/UnrealEngine_Bridge.git
cd UnrealEngine_Bridge
pip install -e .Then enable the Remote Control API plugin in UE5 and point your Claude Code MCP config at python -m ue_mcp.mcp_server. Full steps in the README.
Status
Demo-ready on a maintainer's machine — not yet a distribution-ready plugin. It runs end-to-end against Unreal Engine 5.7 on the maintainer's setup. The shipped trust model is a single trusted operator on a single machine — see SECURITY.md. Packaging and hardening for distribution are in progress.
Pre-1.0: the public API, the MCP tool surface, and the bridge protocol may change without notice.
Full notes: CHANGELOG.md