Skip to content

Releases: iamjrmh/MCESP

Release list

MCESP v3.0.0

Choose a tag to compare

@iamjrmh iamjrmh released this 04 Jul 18:12
8c42808
MCESP

MCESP v3.0.0

Platform
Engine
Version


ESP

Aimbot

Movement

Settings

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.json instead of next to the script/exe, so the compiled .exe and the python MCESP.py source 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.exe download 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/FreeCameraChange to 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.bat for maintainers: run it, type the new version number, and it updates the VERSION constant in MCESP.py and this file's header together (backed by bump_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 GoToSpectate and FreeCameraChange engine functions directly via UObject::ProcessEvent, run through a small hand-assembled x64 shellcode stub injected with CreateRemoteThread.
  • 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...

Read more