Releases: iamjrmh/MCESP
Releases · iamjrmh/MCESP
Release list
MCESP v3.0.0
What's new since v2.1.0
Players tab + Teleport to Player
- New Players tab: pick any live player by name and teleport your own pawn near them via the engine's own
K2_TeleportTo, works from any role, no host needed. - Known limitation: this game's Mover-plugin movement prediction actively corrects position jumps it didn't originate, so the teleport is a real, visible jump but doesn't reliably stick - expect a quick snap-there-and-back "glitch" moment rather than a persistent relocation. Kept in because it's still a fun visible beat for footage; a fully persistent version would need much deeper Mover-internals work.
Flick Bot
- New button + rebindable key in the Aimbot tab: instantly snaps your view to the nearest visible player in one shot, ignoring the FOV circle and Strength smoothing entirely (unlike the held continuous aimbot).
- Internally re-measures and re-corrects a few times within a single press (a few tens of milliseconds) to land dead-on - the angular-offset math used for the continuous aimbot is only a good approximation for small, near-center corrections, and Flick Bot routinely has to close a much larger gap.
Full menu redesign
- Every tab now groups its controls into bordered, rounded cards matching the Settings tab's About section look, instead of a flat list of controls directly on the tab background.
- Added a fifth tab (Players) for the teleport feature above; the tab bar was re-tuned to stay perfectly even edge-to-edge at five tabs instead of overflowing off-screen.
- Buttons got a softer border radius and an accent-colored hover state to match the card aesthetic.
Overlay flashing/stutter fix
- The overlay's repaint timer now matches your actual monitor refresh rate (queried live) instead of a hardcoded ~62.5Hz guess, which was visibly out of step with the game's own frame rate on higher-refresh displays.
- Requests 1ms Windows timer resolution for the app's lifetime - the previous ~16ms interval sat right on top of Windows' default ~15.6ms scheduler granularity, causing the timer to fire irregularly.
- Stopped repositioning the overlay window on every single tick; it now only touches window geometry when the game window's rect actually changes, cutting out unnecessary compositor churn.
Everything from v2.1.0 (still current)
Shared config across .exe and source
- Settings now live in
Documents\MCESP\esp_config.jsoninstead of next to the script/exe, so the compiled.exeand thepython MCESP.pysource version read and write the exact same file. Updating one no longer orphans your setup. - Auto-migrates a config found in the old script-relative location the first time it runs.
Check for Updates
- New button in Settings (in the About card) that checks this repo's latest GitHub Release tag against the running version, and links straight to the
MCESP.exedownload if a newer one is out. - Makes it a one-click update for buddies instead of re-sending the exe manually.
Overlay auto-hide on focus loss
- The overlay and menu now automatically hide the moment focus moves to another program, and automatically reappear when MECCHA CHAMELEON is refocused - same behavior as manually pressing F1/F2, just automatic. No more ESP boxes floating over your desktop/Discord/browser when you alt-tab out.
Force Spectate is now a smart toggle
- The Force Spectate key now checks whether you're already in spectate mode: if you are, it just presses 5 to exit; if you're not, it calls
GoToSpectate/FreeCameraChangeto force you in. One key, either direction. - Added a dedicated Reset View button (Movement tab) that does the same "press 5 to exit spectate" action without needing the hotkey.
Reset Movement Speed
- New button in the Movement tab that snaps the Movement Speed slider (and the live in-game speed) back to the character's true baseline, undoing any custom speed scaling without having to remember or re-enter the default value.
Cleaner ESP - no more dead body markers
- Actors with no resolvable player name (dead bodies, decorative doubles, etc. - previously drawn with a placeholder "Enemy N" label) are now skipped entirely instead of drawn with a fake name.
About section, redesigned
- Settings tab's About card was rebuilt: cleaner bordered card with the MCESP name/version, "by JURMR" credit, and pill-style buttons linking to the Discord and GitHub - alongside the Check for Updates button above.
- Top menu tag shortened from "MECCHA ESP" to just MCESP.
Post-injection message
- After attaching, the console now prints a clear "this window must remain open for MCESP to keep running - please do not close it" notice instead of just
Injected, since the console window is still required to stay open (it's a console app by design, so you can see waiting/injected status at a glance).
Fully self-healing now
- Removed the last hardcoded, game-content-specific offset (
FREE_CAM_FLAG_OFFSET) - it was vestigial after Force Spectate's exit path was simplified to a keypress. Everything that isn't inherent to the engine itself now resolves dynamically via reflection or live validation each session.
Dev tooling
- Added
bump.batfor maintainers: run it, type the new version number, and it updates theVERSIONconstant inMCESP.pyand this file's header together (backed bybump_helper.ps1, not meant to be run directly).
Everything from v2.0.0 (still current)
Force Spectate
- Rebindable hotkey that forces you into full free-camera spectate mode from any role or location - in a match, still in the lobby, alive, spawned in or not.
- Real remote function calling, not a keypress simulation: it invokes the game's own
GoToSpectateandFreeCameraChangeengine functions directly viaUObject::ProcessEvent, run through a small hand-assembled x64 shellcode stub injected withCreateRemoteThread. ProcessEvent's address is resolved live from the target object's own vtable (a fixed slot index found once via reflection), not a hardcoded code offset.- Unbound by default; bind it in the Movement tab.
Movement tab (Fly, Noclip, Movement Speed)
- Fly: gravity-override based vertical flight, rebindable up/down keys, with a short counter-thrust on release so you settle into a stable hover instead of drifting on residual momentum.
- Noclip: full wall/collision passthrough. Only takes effect in the game's own Free Camera / Free Movement mode.
- Movement Speed: a single slider (100-10,000) that scales walking, sprinting, and fly-thrust speed together.
RGB Mode + accent color
- Toggle in Settings: cycles every colored UI/ESP element through a synced rainbow.
- Accent color is pink (
#ff2e97).
Menu reorganized into tabs
- Four tabs: ESP, Aimbot, Movement, Settings. Equal-width, edge-to-edge, no scroll arrows.
Overlay overhaul
- Overlay tracks the game's actual client-area rect every frame, so it stays correctly positioned/sized through window moves, resizes, and borderless-fullscreen changes.
- Player names resolved from
PlayerState(real names). - RGB Mode is fully wired into rendering: markers, snap lines, and name labels all recolor together when enabled.
Everything from v1.0.0 (still current)
ESP
- Player Marker with 3 styles: Dot, Box Outline, Skeleton
- Skeleton is a real bone-driven skeleton - live bone poses + actual parent/child hierarchy read from the game, projected to screen and connected joint-to-joint.
- Falls back to the proportioned stick-figure approximation if real bone data isn't available for an actor on a given frame.
- Show/hide local player, names, distance, snap lines, debug counters
- Separate enemy/local marker colors
- Adjustable dot radius, model height, Y offset (sliders)
Aimbot
- Screen-space angular-offset targeting (not raw 3D vector math) - avoids the camera-vs-character origin mismatch that caused early jump/snap bugs
- Adjustable FOV circle and Strength (smoothing factor)
- Adjustable target offset (center mass by default, head/chest optional)
- Rebindable aim key, or keyless mode (clear the bind - fires continuously while Aimbot Enabled is on)
- Hard-capped turn rate (20 degrees/frame) - structurally cannot instant-snap the view regardless of any future edge case
Quality of life
- All settings live in an in-game menu - sliders, checkboxes, dropdowns, no manual config editing
- Save Settings / Load Settings, plus auto-load on launch
- Rebindable menu-toggle key (default F2) and aimbot key (default MB5) via in-menu key recorder
- Clean Ctrl+C exit ("Have a great day!" instead of a traceback)
- Styled dark-theme UI (sliders, dropdowns) matching the rest of the menu
Self-healing skeleton offsets
The bone-pose-cache and bone-name-table offsets aren't discoverable via the engine's reflection system (no UPROPERTY), so they're hardcoded seed values found by manually scanning game build 5.6.1. On every session, `MCESP...




