UE5CEDumper — Unreal Engine 4/5 dumper (C++ DLL + Cheat Engine bridge + Avalonia UI).
Self-contained Windows x64 build (Native AOT). No .NET runtime install required.
Highlights
- Dynamic offset detection (GObjects / GNames / GWorld) across UE4 4.18+ and UE5 5.0-5.8+
- Object Tree / Live Walker / Instance Finder / Property Search
- Value Search (CE-style by-value scan): numeric / string / vector / TArray / TSet / TMap / TOptional, with server-side filter / sort / paging
- UFunction discovery + invoke (pipe + CE AA-script export); Console (UFUNCTION exec)
- Property <-> function bytecode cross-reference (Blueprint + native)
- CE XML / CSX / SDK header / USMAP export
The exe is unsigned — Windows SmartScreen / antivirus may warn on first run. Verify the download with the included .sha256.
Detail
Period: 2026-05-25 → 2026-06-06 | Builds: ~730 → ~959 | 143 commits (PR #210 – #249)
Stable Features
Value Search (CE-style by-value scan) — Main Line This Cycle
- Console tab: UFUNCTION(exec) discovery + one-click invoke; UCheatManager stripped-body hint.
- First/Next Scan: CE-style iterative scanning over UPROPERTY fields.
- Phase 2: string, vector, and
TArray<T>scanning. - Multi-numeric meta scan: NumericNoByte / NumericAll (incl. with-byte variant) + result-volume warning.
- Float/Double tolerance: matches CE's rounded-scan behavior.
- StructProperty recursion: GAS / nested-struct leaves are now reachable.
- Parallelization:
ParallelGObjectsScan<T>template + thread-safe Ubel caches. - V3-A lean Candidate: shared FieldDescriptor / InstanceRecord pools to cut memory.
- V1a:
TSet/TMapkey|value scan (closes the largest coverage gap). - V1c:
TOptional<T>scan. - V3-C: server-side window + filter/sort (live-verified).
- V2: maxResults cap raised to 1M + allocation-free filter.
- App-wide DataGrid sorting fix (compiled bindings require explicit
SortMemberPath) + Value Search keyword filter.
Property ↔ Function Bytecode Cross-Reference
- Path 1 (Blueprint Kismet):
find_property_xrefs, "Find functions using this field" UI, read/write distinction, ubergraph attribution to BP events, reverse edgewalk_function_props. - Path 2 (native): resolves
[this+off]property xrefs in native UFunctions via Zydis x64 disassembly.
Cheat Table / Invoke
- Multi-row → single
.CTbatch generator (CT batch). - Structured-return DataGrid for struct return values.
DLL Stability
- Cooperative cancellation for long DLL operations (
Cancel.h+ Fern disconnect-monitor + shutdown-abort + serial-loop checks), fixing "game won't close" and "DLL spins after UI close". - Fixed use-after-free in queued ProcessEvent invoke on timeout + two C# lifecycle bugs.
- AOBMaker bridge ops serialized with a semaphore to close a pipe race.
AOT / Build
- Windows-only Avalonia backend (dropped X11/macOS/FreeDesktop), warning-free AOT publish; HarfBuzz text shaping fix for the startup crash.
- Removed
<Run>StackOverflow landmine + added startupcrash.log;TreatWarningsAsErrorson the UI project.
Release / CI
- Tag-triggered Windows release workflow (draft release), with the release build number pinned to the tag (no +1 drift); cleared Node20 + xUnit1051 release-CI warnings.
UI Polish
- Global stale-DLL badge in the top bar; Live Walker focus-on-field on Value Search cross-nav; fixed Live Walker button tooltip flicker; restore window to original position after un-maximize.
Docs / Tooling
diff_dumps.py: same-game patch comparison at UProperty granularity; dev-log split/archived (≤696); roadmap/architecture/lessons fully updated.
Experimental Tools (Three Features) — Not Yet Fully Functional
The following three tools are experimental and only unlock after you tick the opt-in consent checkbox on the System tab. They do not yet work reliably — do not use them in a serious analysis workflow, and go in expecting that they may fail or return inaccurate results:
1. Snapshot (Memory Snapshot)
- Streams every UObject's numeric fields into a per-game SQLite DB (
snapshots.<pe_hash>.db, write-once / immutable, schema v4). - Already supports: scalar numeric / string / struct-array inner-key capture, per-game quota with FIFO auto-eviction, capture progress (% / elapsed / ETA), Delete All / Delete Selected.
- Limitations: capture is slow on large datasets; transient objects (
//Engine/Transient/*) have unstable, colliding paths that can distort comparisons.
2. SPC Query (Same-Path Compare)
- Compares numeric changes for the same property path across snapshots; supports in-memory diff/SPC, absolute-value predicates, and result filters (picker / global filter / value range).
- Includes the N1 noise picker (Top-N contributors → single-click select → per-tab class denylist → re-run).
- Limitations: same-session queries require In-session join to be correct (otherwise Strict mode collapses transient objects into one candidate — the "materials don't show up" misjudgment); large queries rely on the cancellation path and may still stall.
3. Class Pivot
- Aggregates properties by class (DataTable / right-click handoff / array-element pivot).
- Replaced the repeated
COUNT(DISTINCT)query with a precomputedclass_countsindex table (built at finalize, lazy-built for old snapshots) to avoid a GROUP BY over ~1.7M rows on every selection. - Limitations: still early-stage; C2 find-by-value, gzip blob storage, etc. are unfinished; relies on cancellation when switching tabs / closing, and edge cases may linger.
All three tools now have heavy-query cancellation (per-VM CancellationTokenSource, cancel-on-tab-switch / on-close, explicit
ThrowIfCancellationRequestedinside SQLite read loops), but should still be treated as experimental and potentially unstable.