Frequently Asked Questions
Cheat Engine is a free memory scanner and game modifier for Windows and Mac, used for single-player games and learning. This FAQ answers: how to install and uninstall, Mac version, whether it works on online games, antivirus false positives, value types, pointers, Mono, Speedhack, and where to get help.
Quick answers to the most common questions about Cheat Engine.
What is Cheat Engine?
Cheat Engine is a tool that helps you figure out how a game or application works and make modifications to it. It has extensive scripting support, so you can create many kinds of modifications. See the About page for details.
How do I install Cheat Engine?
Click the download button on the main page (or our Downloads page), run the installer, and follow the steps. When the installer is done, you can use CE. Some antivirus software may flag it; see Troubleshooting.
How do I uninstall Cheat Engine?
Use the uninstall option from the Start Menu, or go to Windows Settings → Apps → Apps & features and remove Cheat Engine from there.
Is there a Mac version?
Yes. A Mac version is available and may still be buggy; report issues you find. On macOS, CE is trialware until you join the CE Patreon.
Will Cheat Engine work on online games?
Most of the time, no. Online games store important data (e.g. money, inventory) on the server. Changing values on your PC only changes what you see locally; the server will overwrite or correct them. Do not use CE on online games in ways that violate their terms of service.
My antivirus says Cheat Engine contains a virus. Is it safe?
CE can manipulate any running program, including admin applications, and can run scripts from cheat tables. Antivirus software often flags it as a “hacktool” without analyzing the scripting language. If you download from a trusted source and use cheat tables from trusted sources (and check that .CT files don’t contain dangerous code—they are plain text XML), you should be fine. You can add an exception or temporarily disable the antivirus during install if needed. See Troubleshooting.
Do I have to pay for Cheat Engine?
No. Cheat Engine is free. On macOS it is trialware until you join the CE Patreon. Patreon supporters can get an installer without extra software recommendations.
Can I get the source code?
Yes. You can download it from the Downloads page or from GitHub. It is provided for education and transparency. You may compile and use your own version privately, but you may not publish your own “version” of Cheat Engine online—that would violate copyright.
Why does the installer connect to the internet?
The installer contacts an advertiser to fetch a list of optional software offers. You can decline them. If you accept by mistake, you can remove those programs from Windows later. To avoid the bundled offers entirely, compile from source or get the ad-free installer via the CE Patreon.
When will the next version be released?
Someday. Announcements are made on Patreon and the CE forum. New versions will not be “undetected” for anti-cheat systems, and they will not make old cheats work again after game patches—you need to update your method, not just CE.
What is a cheat table (.CT) and is it safe to download?
A .CT file is a cheat table that stores addresses, scripts, and descriptions. It is plain text XML, so you can open it in Notepad and check for Lua or code. Only download tables from sources you trust; malicious tables can run scripts that harm your system.
Why do I get thousands of results when I scan?
The value you entered (e.g. 100) appears in many places in memory. Do more “Next Scan” steps: change the value in the game (e.g. take damage so health is 80), enter 80, click Next Scan. Repeat until the list is small enough to test.
Why do I get zero results when I scan?
The value might be stored as a different type (Float, 8 Bytes, etc.) or the game might use a different representation (e.g. value × 8). Try another value type or “Unknown initial value” with Increased/Decreased value.
What is a pointer and why should I use it?
A pointer is a path (base address + offsets) that leads to your value. When you restart the game, the direct address often changes, but a pointer can still find the value. Use Pointer scan after finding an address so your cheat works after restart.
Can I use Cheat Engine on Linux or Android?
CE itself runs on Windows and Mac. For Linux or Android you can run CEServer on the target device and connect from CE on your PC for network scanning. See the Downloads page for CEServer builds.
What is Speedhack and when does it work?
Speedhack speeds up or slows down the target process’s time. It works by hooking time-related APIs. Games that use their own timers or fixed timesteps may not be affected. Use it only in single-player.
What is “Find what writes to this address”?
Right-click an address in the list and choose “Find out what writes to this address.” When the game changes that value, CE will show you the instruction that wrote to it. Useful for finding code to patch or inject.
What are 4 Bytes, Float, Double in the value type?
They are data types. 4 Bytes and 8 Bytes are integers. Float and Double are floating-point numbers (decimals). Games use these to store health, money, coordinates, etc. Picking the wrong type gives bad scan results.
Can I make a trainer without programming?
Yes. After you find addresses and add them to the table, you can use File → Create trainer from the current cheat table. CE will generate a standalone .exe that applies your cheats. You can customize the trainer window in the table.
Why does my cheat stop working after a game update?
Updates often change memory layout and code addresses. Your saved addresses and code patterns (AOBs) may no longer be valid. You need to find the values or code again; updating Cheat Engine alone usually does not fix it.
What is Mono and when do I use it?
Mono is a .NET-like runtime used by Unity and some other engines. CE’s Mono features let you browse classes and fields in the game and find object instances. Use Mono → Dissect mono (or similar) when the game is made with Unity or Mono.
Is it legal to use Cheat Engine?
Using CE on software you own, for personal/educational use, is generally legal in many jurisdictions. You must still respect the game’s EULA and terms of service. Do not use it for online cheating, cracking, or bypassing paid content.
Where can I learn Lua for Cheat Engine?
CE has built-in Lua documentation (Help or the script editor). The Wiki has Lua basics and the forum has an Lua extensions section with examples. Start with simple scripts (e.g. reading a value) before auto-attach or complex UIs.
What is “Unknown initial value” scan?
Use it when you don’t know the exact number (e.g. a bar with no digits). First scan with Unknown initial value, then change the value in the game and use “Increased value,” “Decreased value,” or “Changed value” for Next Scan.
Why can’t I attach to the game?
Some games run with elevated privileges or anti-cheat that blocks memory tools. Try running CE as administrator. If the game uses strong anti-cheat, CE may not be able to attach at all; it is not designed to bypass such protection.
What is an AOB (Array of Bytes)?
AOB is a sequence of bytes in the game’s code (e.g. “8B 45 FC 89 10”). Scripts use AOB to find the correct location for code injection so the script still works after the game is updated, as long as that code hasn’t changed.
Can I use CE to learn programming?
Yes. Many users learn about memory, pointers, assembly, and scripting through CE. The built-in tutorial, Wiki, and forum are good resources. The source code is available for study (see Downloads).
What is the difference between First Scan and Next Scan?
First Scan searches the entire process memory for the value you enter. Next Scan keeps only addresses that still match the new value you type. You use Next Scan after changing the value in the game to narrow the list. See Scanning guide.
Why does my address stop working after I restart the game?
Memory addresses change between runs (ASLR and dynamic allocation). Use a pointer so your cheat finds the value again each time. Pointer scan finds stable paths to the address.
What value type should I use for health or ammo?
Often 4 Bytes or 4 Bytes (unsigned). If you get zero or too many results, try Float (e.g. for percentage health bars). See Value types and Scanning guide.
What does “Unknown initial value” do?
It lets you search when you don’t know the exact number (e.g. a bar with no digits). After First Scan, use “Increased value,” “Decreased value,” or “Changed value” and click Next Scan each time you change the value in the game to narrow the list.
How do I freeze a value?
Add the address to the list, then check the box in the “Active” column. CE will keep writing the current value to that address so the game cannot change it. Uncheck to unfreeze.
What is a .CT file?
A Cheat Table: it stores addresses, scripts, and descriptions. Save your work with File → Save; load with File → Load. .CT files are XML and can be opened in a text editor—only load tables from sources you trust.
Can I use Cheat Engine on Linux or Android?
There is no Linux or Android version. Some users run the Windows version via Wine on Linux. For Android you would need other tools; CE is focused on Windows (and has a Mac build).
What is Speedhack?
A feature that changes how fast the process thinks time is passing. You can slow down or speed up the game (e.g. 0.5x or 2x). It works by hooking time-related APIs. Not all games respond to it.
What is “Find what writes to this address”?
A debug feature: you select an address and CE sets a breakpoint so when the game writes to that address, execution pauses and CE shows you the instruction and where it came from. Useful for finding the code that updates health, ammo, etc., so you can inject or modify it.
Is it legal to use Cheat Engine?
Using CE on software you own, for single-player or personal use, is generally legal in many jurisdictions. Using it to cheat in online games or to circumvent licensing can violate terms of service or laws. You are responsible for how you use the tool.
Where can I find cheat tables for my game?
The Cheat Engine forum and other community sites host user-made tables. Only download from sources you trust. .CT files can contain Lua scripts—open them in a text editor if you want to check before loading.
What is Mono/Unity and why is “Dissect Mono” greyed out?
Mono is used by many Unity games. “Dissect Mono” lets you browse .NET classes and fields. It is greyed out if the process doesn’t use Mono or if CE can’t detect it. Run the game, attach CE, then try Mono → Activate mono features. Some games use IL2CPP instead of Mono; that requires different approaches.
How do I run CE as administrator?
Right-click the Cheat Engine executable → Run as administrator. You may need this for some protected or elevated processes. Do not run untrusted tables when CE is elevated.
The game closes when I attach Cheat Engine. Why?
Some games have anti-cheat or anti-debugging that detects CE and closes. Try attaching before the game fully loads, or use a different approach (e.g. Mono if it’s Unity). There is no universal fix; see Troubleshooting.
What is Auto Assembler?
A CE feature that lets you write and inject assembly code. You can replace instructions (e.g. make a subtraction do nothing so health doesn’t decrease) or inject new code. It’s advanced; learn the basics of scanning and pointers first. See the guides and tutorials.
Can I share my cheat table?
Yes. .CT files are just files. Share them on the forum or elsewhere. Make sure your table doesn’t rely on absolute addresses if the game updates often—use pointers or AOB so others can use it after patches.
What does “Full access” mean in the memory view?
When you open the memory view (Tools or right-click address), you can see and edit bytes. “Full access” means the region is readable and writable. Some regions are read-only or execute-only; the game may crash if you write there incorrectly.
Why do I get thousands of results on First Scan?
The same number (e.g. 100) can appear in many places in memory. Do more Next Scans: change the value in the game, enter the new value in CE, click Next Scan. Repeat until the list is small. See Beginners and Tips.
What is an AOB (Array of Bytes)?
A sequence of bytes in the game’s code (e.g. “8B 45 FC 89 10”). Scripts use AOB to find the right place for code injection so the script still works after updates, as long as that code hasn’t changed. See the guides.
How do I change the description of an address?
In the address list, double-click the description cell (or right-click the entry → Change description) and type a new name (e.g. “Player Health”). This helps when you save the table and share it.
Does Cheat Engine work with emulators?
You attach CE to the emulator process (e.g. the .exe of the emulator), not the console. So you scan the emulator’s memory. Whether you find game values depends on how the emulator maps the console’s memory. It often works for many popular emulators.
What is the difference between “All” and “Writable” in scan options?
“All” scans every readable region. “Writable” only scans regions that are writable. Using Writable can reduce the number of results and sometimes helps find the real value faster, since the game must be able to write to where it stores health, etc.
Can I use CE to modify save files?
CE edits memory (RAM), not files. To modify save files you need a different approach (hex editor, save editor, or a tool that understands the save format). Some games keep save data in memory while the save menu is open—then you could scan for values and change them before saving.
Why does my scan take so long?
First Scan reads a lot of memory; large processes take longer. Next Scan is faster. Pointer scan can be very slow and produce large files. Use a smaller max level and max offset for pointer scan if needed. Closing other heavy programs can help.
What is “Code injection” in CE?
Replacing or adding code in the game’s executable so it behaves differently (e.g. skip a subtraction that reduces health). You find the instruction with “Find what writes,” then use Auto Assembler to inject code. It’s advanced; see tutorials and the guides.
How do I report a bug in Cheat Engine?
Use the Cheat Engine forum or the place where you downloaded CE. Describe the steps, CE version, and Windows version. Crashes and error messages are especially helpful.