Free · Windows & Mac

Cheat Engine

Scan memory, change values, and take full control of single-player games. Make them harder or easier, debug and script—all for free. Learn how games work from the inside out.

Age 18+ only. For private and educational use. Please read the FAQ before use.

Cheat Engine after selecting a process – address list and scan options

Overview

What Cheat Engine Does

Attach to any process, scan memory, and modify values. The interface shows the address list, memory viewer, and scan options—all in one place.

  • Select a process (game or app)
  • Scan for values, then narrow with Next Scan
  • Edit or freeze addresses in the list

Memory Scanner

Quickly find variables used in a game—health, ammo, gold—and change them. First scan, change value, next scan, lock or edit.

Debugger & Disassembler

Debugger, disassembler, and assembler for advanced users. Trace execution, set breakpoints, and inject code.

Speedhack & Trainers

Speed up or slow down game time. Build and share trainers with the built-in trainer maker.

Lua

Lua Scripting

Extensive Lua support. Write scripts and extensions, share .CT tables and automation with the community.

DBVM

DBVM extends capabilities on supported systems. Right-click the CE logo to see if your system supports it.

Educational & Safe

Inspect memory and understand how programs work. Source code available for learning; use responsibly and legally.

Cheat Engine in Action

Screenshots of the interface, scanning, and using CE with games.

Cheat Engine 6.1 interface – main window
Main interface
Cheat Engine interface screenshot
Scan & address list
Cheat Engine complete guide for beginners
Beginner guide
Using Cheat Engine with Remnant 2
Example: Remnant 2

Latest Release

February 12, 2025

Cheat Engine 7.6 — Public Release

Cheat Engine 7.6 is now available for everyone. Includes improvements and fixes from the 7.5 cycle. Patreons had early access; Mac and public builds are available from the downloads page.

Go to Downloads

Having trouble installing or running CE? See the troubleshooting guide.

Why Use Cheat Engine?

For Players

Single-player games are yours to enjoy the way you like. If a game is too hard, reduce damage or give yourself more resources. If you want a challenge, limit your health or add constraints. Cheat Engine puts you in control of values the game stores in memory—health, ammo, money, speed—so you can tailor the experience without mods or external trainers.

Many users also use CE to speed up grinding (speedhack or editing resources) or to explore content that would otherwise take dozens of hours. All of this is done locally; no server is involved.

For Learners and Developers

Cheat Engine is an excellent tool for learning how programs and games work. You see how values are stored in memory, how the CPU executes code, and how to find and change data. Reverse engineering with CE teaches assembly, memory layout, and debugging—skills useful in security, game development, and software analysis.

Developers use CE to test their own games (finding and fixing exploits, checking balance) and to understand third-party software. The source code is available for study, and the community shares techniques on the forum and wiki.

Who Uses Cheat Engine?

Cheat Engine is used by a wide range of people for different reasons. Understanding who uses it helps you find the right tutorials and community support.

  • Single-player gamers — Players who want to adjust difficulty, skip grinds, or experiment in offline games. They often use pre-made cheat tables from the forum.
  • Trainer makers — People who find addresses and write scripts, then share .CT files or build trainers for others. Many contribute to the forum and wiki.
  • Students and educators — Anyone learning reverse engineering, assembly, or how operating systems and games manage memory. CE’s built-in tutorial is a common starting point.
  • Security researchers — Professionals who analyze malware or software behavior. CE’s debugger and memory inspection are useful in a controlled environment.
  • Game developers — Indie and professional devs who use CE to test their games, find memory-related bugs, or balance gameplay by observing how values change.

Single-Player Only: Why It Matters

Cheat Engine is designed for games and applications that run locally. In single-player, the game state lives on your PC—health, ammo, gold are in your process’s memory. CE can find and change them without affecting anyone else. In online or multiplayer games, the server is the source of truth. Modifying your client does not change server-side data, can cause desync or crashes, and almost always violates the game’s terms of service. Using CE in online games can get your account permanently banned. Stick to single-player and offline modes.

Beyond Scanning: Debugger and Code Injection

Once you’re comfortable finding and freezing values, you can go further. “Find out what writes to this address” shows you the exact instruction that updates the value; from there you can replace it with your own code (NOP it out or inject new logic) using the Auto Assembler. That’s how infinite ammo, no recoil, and other code-based cheats are built. The debugger lets you set breakpoints, step through code, and inspect registers and memory. The wiki has step-by-step code injection and AOB tutorials. See Features for the full picture.

What Not to Do

  • Do not use Cheat Engine to cheat in online or multiplayer games. It violates terms of service and can result in a ban.
  • Do not use it to bypass paywalls, crack software, or obtain paid content without permission.
  • Do not open .CT files or trainers from unknown sources—they can contain malicious code.
  • Do not distribute modified or repackaged builds without permission from the author.

For full guidelines, see Legal & Ethical Use.

Getting Started

New to Cheat Engine? Follow these steps to go from zero to your first cheat.

  1. Download and install — Get the latest version from the Downloads page. Stay connected to the internet during setup. If your antivirus blocks it, see Troubleshooting.
  2. Run the built-in tutorial — From the Start Menu, open “Cheat Engine” and run the tutorial. Complete at least steps 1–5. You will learn how to attach to a process, scan for a value, and change it.
  3. Try a single-player game — Pick an offline game you own. Attach CE to it, scan for a value (e.g. health), change it in the game, then “Next Scan.” Repeat until you have one or a few addresses. Add them to the list and try freezing or editing.
  4. Read the wiki and forum — The wiki has guides on pointers, AOBs, and Auto Assembler. The forum has game-specific tables and discussions.
  5. Explore features — Once basics are clear, try Speedhack, pointer scan, or simple Auto Assembler scripts. Check the Glossary for terms you don’t know.

How the Memory Scanner Works

Cheat Engine’s core feature is scanning a process’s memory for values that match what you enter. Games store health, ammo, gold, and other data in RAM; the scanner lets you find those locations and change them.

First Scan

You tell CE the value type (e.g. 4 bytes or float) and the value you see in the game (e.g. health = 100). Click “First Scan.” CE searches the process memory and lists every address that currently holds that value. There are often thousands of matches, so you narrow them down with “Next Scan.”

Next Scan

Change the value in the game (e.g. take damage so health becomes 80). In CE, enter 80 and click “Next Scan.” CE keeps only addresses that now contain 80. Repeating this a few times usually leaves one or a handful of addresses—that’s your health (or ammo, gold, etc.). Double-click to add them to the address list.

Scan Types Explained

Different situations call for different scan conditions. Choosing the right one speeds up your search and avoids dead ends.

  • Exact value — You know the current value (e.g. 100 health). Fast and precise. Use when the game displays the number.
  • Unknown initial value — You don’t know the value (e.g. a hidden counter). First scan matches almost everything; then use “Increased value,” “Decreased value,” or “Changed value” on next scans while you change it in the game. The built-in tutorial teaches this.
  • Bigger than / Smaller than — You only know a range. Useful when the value is large or you’re not sure of the exact number.
  • Changed / Unchanged value — “Changed” keeps addresses whose value changed since last scan; “Unchanged” keeps those that didn’t. Helpful for filtering out values that update every frame.

Value Types: Getting It Right

Games store numbers in different formats. If your scan returns nothing or wrong results, the value type is often the cause.

4 Bytes — Common for integers (health, ammo, gold). Try this first for whole numbers.
Float — Decimals (e.g. 100.5). Used for health bars, positions, speeds.
8 Bytes / Double — Large integers or double-precision floats. Some games use these for currency or coordinates.

When in doubt, try 4 Bytes and Float first. Wrong type gives no results or thousands of false positives. See the Glossary for more.

Why Addresses Change: Pointer Scan

After you find an address and save your table, you might restart the game and find the cheat no longer works. That’s because the same variable can live at a different memory address each time (ASLR and dynamic allocation).

A pointer is a chain of addresses: one address holds the next, and the last one holds your value. That chain often stays valid across restarts. Cheat Engine’s pointer scan finds these chains. You run it once (it can take several minutes), then add a working pointer to your table so the cheat works every time you open the game. The wiki has full pointer tutorials.

Freeze vs. Edit: When to Use Which

Freeze

CE keeps writing the current value back to the address, so the game can’t change it. Use for infinite health, unlimited ammo, or any value you want to lock. Right-click the address → enable Freeze.

Edit

You change the value once (e.g. set gold to 9999). The game can overwrite it later. Use for one-off boosts or testing. You can also set a value and then freeze it so the game doesn’t overwrite it.

Speedhack: Slow or Speed Up Time

Speedhack changes how fast the game thinks time is passing. You can slow the game down (useful for difficult sections or analysis) or speed it up (to grind faster in single-player). It works by hooking time-related APIs; many single-player games respond well. Enable it from the Speedhack window after attaching. Do not use in online games—it can cause desync or detection. Full details on the Features page.

Trainer Maker: Share Without CE

Once you have addresses and scripts in a cheat table, you can turn it into a standalone trainer (.exe) with File → Create Trainer. The trainer has a simple window (checkboxes, hotkeys) so others can use your cheats without installing Cheat Engine or loading the table. Share only from trusted sources; trainers from unknown sites can contain malware.

Lua Scripting: Automate and Extend

Cheat Engine has built-in Lua support. You can write scripts to automate scanning, create custom UI, auto-attach to processes, and interact with memory and the address list. Many forum extensions and advanced tables use Lua. The wiki documents the CE Lua API. Learning Lua basics opens the door to powerful custom tools.

DBVM: Optional Advanced Mode

DBVM (Debugger Virtual Machine) is a hypervisor that runs below the OS and extends what CE can do—especially on 64-bit Windows. It enables features like ultimap (execution tracing) and stronger debugging. Loading DBVM requires a compatible CPU and booting with the DBVM loader. Most users never need it; CE works fully without DBVM. Right-click the CE logo → About to see if your system supports it.

Unity and Mono Games

Many games are made with Unity (C# / Mono). After attaching, use Mono → Activate mono features. You can then browse the game’s classes and fields by name (e.g. Player.health) and add them to the address list without scanning. For some values you still scan normally. The wiki has Unity-specific guides.

Common First-Time Mistakes

  • Wrong bitness — Use 64-bit CE for 64-bit games and 32-bit CE for 32-bit games. Check in Task Manager.
  • Wrong value type — If exact scan gives nothing, try Float or 8 Bytes.
  • Scanning too early — Make sure the value exists in the game (e.g. load a level so health/ammo are in use) before scanning.
  • Stopping after one Next Scan — One next scan often leaves hundreds of addresses. Change the value in the game again and run Next Scan until the list is small.
  • Not saving the table — Use File → Save so you don’t lose your addresses when you close CE.
  • Using CE in online games — Don’t. It violates terms of service and can get you banned. Single-player only.

System Requirements

Cheat Engine runs on Windows (32-bit and 64-bit) and macOS. You need a compatible OS and enough RAM for the processes you attach to. For DBVM (optional), you need supported hardware and to boot with the DBVM loader. Current builds and requirements are on the Downloads page.

Antivirus and Safe Use

Many antivirus programs flag Cheat Engine because it reads and writes other processes’ memory and can inject code—the same capabilities some malware uses. For the official build, this is a false positive. Add an exclusion for the CE folder or temporarily disable the antivirus during install. See Troubleshooting for details. Only download CE from trusted sources; avoid unknown mirrors.

Cheat Tables (.CT Files)

A cheat table is an XML file that stores addresses, scripts, descriptions, and options. You save your work as a .CT file (File → Save) and load it later (File → Load). Tables can be shared; the forum has game-specific tables. Only open .CT files from sources you trust—they can contain Lua and assembly that runs when you load them.

Hotkeys for Faster Control

You can assign a key combination (e.g. Ctrl+H) to any address or script. Right-click the address → Set hotkeys. Choose “Toggle” to enable/disable the cheat, or “Set value” to write a number when pressed. Hotkeys work when the game is in the foreground and CE is in the background, so you don’t need to alt-tab during play.

Recent Versions at a Glance

7.6 Current public release. Improvements and fixes.
7.5 Mono/Unity, DBVM, and scanner updates.
7.4 Stability and feature improvements.

Full version history →

Support Cheat Engine

Development is supported by the community. On Patreon, supporters often get early access to Windows builds and a clean installer without bundled software offers. Donations help with development and server costs.

Frequently Asked Questions

Quick answers to the most common questions. Full list on the FAQ page.

Is Cheat Engine free? Yes. CE is free. The installer may offer optional third-party software (you can decline). Patreon supporters get a clean installer.
Can I use it on Mac? Yes. A Mac version is available (e.g. 7.5.2). Download from the official downloads page.
Is it legal? CE is for private and educational use. Do not use it on online games or to violate any EULA/TOS. See Legal & Ethical Use.
Why does my antivirus block it? CE can read/write memory and inject code, so some antivirus software flags it as a risk. For the official build it’s a false positive. Add an exclusion or see Troubleshooting.
32-bit or 64-bit? Use 64-bit CE for 64-bit games and 32-bit CE for 32-bit games. Check the process in Task Manager.

Key Terms You’ll See

Address, pointer, scan, freeze, AOB, cheat table, trainer—what do they mean? The Glossary has full definitions. Here’s a quick taste: an address is a location in memory; a pointer is a chain of addresses leading to your value; freeze keeps a value from changing; an AOB (array of bytes) finds code by pattern for scripts that survive game updates.

Download