Releases: littleRabbit94/ue4ss-bridge
Release list
ue4ss-bridge 1.2.0
Renamed from ue-bridge to ue4ss-bridge. The old name collided with an unrelated Unreal Editor tool.
Protocol 3. Both halves must be updated together: the UEBridge mod (zip below) and the ue4ss-bridge Python package (pip install -U ue4ss-bridge or uvx ue4ss-bridge). A server and mod on different protocols refuse each other, with a message saying which side is older.
Rename
- PyPI package
ue4ss-bridge, moduleue4ss_bridge, commandue4ss-bridge.ue-bridgestays installed as a second command, so MCP client configs written against the old name keep launching. pip install -U ue-bridgekeeps working: that package is now a stub that installsue4ss-bridge.UE4SS_BRIDGE_GAME_DIRandUE4SS_BRIDGE_DATA_DIR, falling back to the oldUE_BRIDGE_*names.- Nothing in the game changes: the mod folder is still
ue4ss\Mods\UEBridge\, andsettings.lua, its keys and the request/response layout are unchanged. The archive is now namedue4ss-bridge-<version>.zip.
New
- Event streams:
watch_propertysamples properties on a timer and records changes (default 250 ms, minimum 100). A watch holds its object between samples, survives a map change or save reload withlost/resumedrows, and ends only onstop_stream. Read-only. hook_functionrecords every call of a UFunction with its arguments and caller. Refused withallow_writes = false. Read hook output throughpoll_events; do not call a hooked function from eval in the same session (access violation seen).poll_events,list_streams,stop_stream(batch opsevents,streams,unwatch; CLI subcommands of the same names). One shared 2000-event buffer with sequence numbers and adroppedcount.targeted_actor(batch optarget): a line trace from the camera, or from an actor's forward vector withref, returning the hit actor, component, distance, impact point and materials. Read-only.list_subclasses(batch opsubclasses): every loaded class derived from a base, Blueprint classes included. About 1.5 s on a large game.
Fixed
UEHelpersis available in eval; it previously failed withattempt to index a nil value.
UEBridge 1.1.0
Protocol 2. Both halves must be updated together: the UEBridge mod (zip below) and the ue-bridge Python package (pip install -U ue-bridge or uvx ue-bridge). A 1.0.0 server refuses a 1.1.0 mod and vice versa, with a message saying which side is older.
New
- Snapshot and diff:
snapshot_object,diff_object,list_snapshots,forget_snapshot(batch opssnapshot,diff,snapshots,forget; CLI subcommands of the same names). A diff reports changed, added and removed values by dotted property path; an unchanged object diffs empty. Read-only. reload_mod(batch opreload, CLIreload): re-readsettings.luaand re-run the mod in place. Read-only, so it works withallow_eval = false.- CLI
--superonpropsandsnapshotincludes inherited properties.
Changed
poll_msdefault 50 (was 250). Round trip median 57 ms on Lantern, 62 ms on Dawnwalker.scripts\settings.luawins over a rootsettings.lua. An in-place upgrade from 1.0.0 leaves the root copy behind; the mod logs it as ignored. Delete it.inspect_object,list_functions,find_objectsandlist_typesresults over 200 entries stay JSON lists.bridge_statusreports the game running now, not the previous one, after a game switch.allow_writes = falseforcingallow_evaloff is logged, and the eval refusal names the cause.
Tested on The Lantern of the Laughless Saint (UE 5.8) and The Blood of Dawnwalker (UE 5.5.4).
UEBridge 1.0.0
First release.
UEBridge-1.0.0.zip is the UE4SS Lua mod. Extract into the game's install folder; it lands in ue4ss\Mods\UEBridge with an enabled.txt, no mods.txt edit. Settings in scripts\settings.lua (enabled, poll_ms, allow_eval, allow_writes, bridge_dir).
The server and CLI (ue-bridge) is the Python package in this repository: MCP over stdio or --http, finds the running game by itself.
Verified on The Lantern of the Laughless Saint (UE 5.8) and The Blood of Dawnwalker (UE 5.5.4).