Cheat Engine:Help File
New to Cheat Engine?
Start with Getting started, then learn the Main interface.
Working with memory?
Go to Scanning and address lists or Memory Viewer.
Extending Cheat Engine?
See Plugin system and the Tutorials.
Changing behaviour?
Use Settings for debugger, hotkey, scan, and plugin configuration.
Contents
Getting started[edit]
Use these pages for a quick introduction, terminology, and common questions before beginning a scan.
| Topic | What it covers |
|---|---|
| About | Purpose of the help file and a short introduction to Cheat Engine. |
| About Cheat Engine | A broader overview of what Cheat Engine can do. |
| FAQs | Frequently asked questions and common first-use issues. |
Main interface[edit]
Main Interface explains the main window. The sections below follow the normal workflow: select a target, scan its memory, inspect matches, and add useful addresses to a table.
Scanning and address lists[edit]
| Step | Help pages |
|---|---|
| Select a target | Select Process |
| Configure a scan | Memory scan settings · Scan types · Value types · (Un)signed values |
| Learn custom value types | Custom type examples — Money type - divided by 100, old flash (div 8), Big endian 2 byte, Big endian 4 byte |
| Review scan matches | Found address list |
| Build a cheat table | Address/Cheat list · Table Extras |
Interface tools[edit]
| Tool | Help pages |
|---|---|
| Menus and table controls | Standard Menu · Advanced options · Pause · Code list |
| Runtime controls | Speedhack · Unrandomizer |
Memory Viewer[edit]
Memory Viewer is the advanced workspace for assembly, debugging, code analysis, and data structures.
Navigation and assembly
Memory view · Menus and Features · Auto Assembler help · Script engine
Debugging and tracing
Debugging · Find addresses accessed by an instruction · Find writes/accesses to an address · Break and trace
Code and data analysis
Dissect code · Dissect data/structures · Pointer scan · Structure spider
Plugin system[edit]
Plugin system describes the native plugin interface. Start with initialization, then use the PluginVersion structure to access exported callbacks and PluginType to register integration points.
Plugin lifecycle[edit]
| API entry | Purpose |
|---|---|
| GetVersion | Retrieves the Cheat Engine version information expected by a plugin. |
| DisablePlugin | Disables a loaded plugin. |
| InitializePlugin | Initializes the plugin and registers its functionality. |
PluginVersion and exported functions[edit]
PluginVersion defines the structure passed between Cheat Engine and a plugin. ExportedFunctions and sizeofExportedFunctions describe the available function table.
| Function group | Exported functions |
|---|---|
| UI and registration | ShowMessage · RegisterFunction · UnregisterFunction · GetMainWindowHandle |
| Opened process | OpenedProcessID · OpenedProcessHandle · ProcessList |
| Assembly and disassembly | AutoAssemble · Assembler · Disassembler · previousOpcode · nextOpcode · disassembleEx |
| Memory and code changes | ChangeRegistersAtAddress · InjectDLL · FreezeMem · UnfreezeMem · FixMem |
| Symbols and modules | GetAddressFromPointer · sym_nameToAddress · sym_addressToName · sym_generateAPIHookScript · loadModule |
| Kernel, DBVM, and settings | loadDBK32 · loaddbvmifneeded · ReloadSettings |
| Auto Assembler extensions | aa_AddExtraCommand · aa_RemoveExtraCommand |
Plugin types[edit]
PluginType selects where a plugin integrates with Cheat Engine.
| Type | Integration point |
|---|---|
| 0: ptAddressList · 1: ptMemoryView | Address list or Memory Viewer integration. |
| 2: ptOnDebugEvent · 3: ptProcesswatcherEvent · 4: ptFunctionPointerschange | Debug, process-watcher, and function-pointer events. |
| 5: ptMainMenu · 6: ptDisassemblerContext · 7: ptDisassemblerRenderLine · 8: ptAutoAssembler | Main-menu, disassembler, and Auto Assembler extensions. |
| REGISTERMODIFICATIONINFO | Structure used when a plugin changes register values. |
Settings[edit]
Settings is the starting point for configuration. Use the focused pages below when a particular subsystem needs changing.
| Area | Help pages |
|---|---|
| General behaviour | General settings · Extra (Advanced) |
| Input and timing | Hotkeys · Unrandomizer |
| Scanning and debugging | Scan settings · Debugger options |
| Extensions | Plugins |
Tutorials[edit]
Tutorials collects guided learning material. The recommended route is theory, basic assembler, Cheat Engine-specific workflows, then practical examples.
Assembly foundations[edit]
- ASM and Hexing Theory
- Basic assembler
- What is the difference in bytetype
- ASM Basics 1 · ASM Basics 2 · ASM Basics 3
Cheat Engine workflows[edit]
- Cheat Engine specific
- Searching Tip
- Code Injection and the auto assembler
- Find out what addresses are accessed by a piece of code
- Percentage scans and compare to saved results
[edit]
- 3D pinball for Windows (pointer + code)
- Basic packet editing
- Remote desktop instead of network version
Miscellaneous topics[edit]
| Topic | Help page |
|---|---|
| Debugger background | About the debugger |
| Network use | Network versions |
| Contact and feedback | Contact and feedback |
Missing or unclear content? Improve the relevant page directly, then keep this index aligned with the official HTML help navigation.