Skip to content

TRShadow33/Cheat-Engine-FT-Custom-Tools-Menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

25 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Cheat Engine FT Custom Tools Menu (Hotkey & Backup Manager)

๐ŸŒ Language: English | Tรผrkรงe

Cheat Engine Lua Version Status

A multilingual, plugin-based custom tools menu for Cheat Engine. It brings shortcut assignment, shortcut copy/paste, shortcut backup, cleanup tools, toggle disabling, compact view, menu search, context-menu access and user-expandable plugins into one organized interface.

Download note: For installation, download the project release ZIP asset, not GitHubโ€™s automatically generated Source code (zip) or Source code (tar.gz) archives.


Notes from the Author

This project was created with the help of artificial intelligence within a short development period. Gemini 3.1 Pro was used during the core phase of the project, while ChatGPT 5.3 Instant and ChatGPT 5.5 Pro were used during the final and refinement phases.

The project was monitored by a human throughout the development process, and every stage was closely tracked and tested as much as possible.

The application was first developed around a Turkish core structure and then translated into other languages through English. The translations were also prepared with AI assistance. The localization structure was designed so that users can improve or correct translations easily when needed.

Many issues were solved to bring the project to this state, but there may still be shortcomings, mistakes or compatibility differences. Please keep in mind that this project was made by a regular Cheat Engine user who wanted to share useful workflow improvements with others.

The goal is simple:

Make common Cheat Engine table operations faster, cleaner and easier to access.

If you like it, feel free to use it, share it or improve it.

Best regards from Mersin, Turkey.


What It Solves

Cheat Engine users often repeat the same tasks many times:

  • assigning similar shortcuts to multiple records
  • copying shortcut setups between addresses
  • backing up shortcut configurations
  • restoring previous shortcut states
  • clearing old or conflicting shortcuts
  • disabling active toggles
  • switching between view modes
  • searching inside a growing custom tools menu
  • accessing tools from both the top menu and the address-list context menu

This project turns those repeated actions into accessible menu tools.


Main Features

  • Plugin-based menu architecture
  • Top menu integration
  • Right-click context menu integration
  • Shortcut Wizard for guided shortcut assignment
  • Quick Shortcut Copy and Quick Shortcut Paste
  • Shortcut Backup and Restore
  • Shortcut cleanup tools for selected records or the full table
  • Disable All Toggles quick action
  • Compact Mode
  • Menu Search
  • Multilingual menu system
  • Plugin-specific optional localization
  • Plugin-specific optional documentation
  • Scrollable guide/about windows
  • First-use guide support
  • Example plugin template for custom tools

Plugin-Based Architecture

This project uses a plugin-based architecture.

Each menu section can be handled as an independent plugin. This makes the system easier to extend, customize and maintain without editing the protected core files.

Users can add their own tools by creating a new plugin folder and registering it in plugins_order.txt.

Core files stay untouched.

Recommended structure:

autorun/
โ””โ”€โ”€ OzelModuller/
    โ”œโ”€โ”€ Core/
    โ”‚   โ”œโ”€โ”€ MainMenu.lua
    โ”‚   โ”œโ”€โ”€ CoreHelpers.lua
    โ”‚   โ”œโ”€โ”€ Localization.lua
    โ”‚   โ”œโ”€โ”€ PluginLoader.lua
    โ”‚   โ”œโ”€โ”€ DocLoader.lua
    โ”‚   โ””โ”€โ”€ Version.lua
    โ”‚
    โ”œโ”€โ”€ Plugins/
    โ”‚   โ”œโ”€โ”€ language/
    โ”‚   โ”œโ”€โ”€ shortcut_tools/
    โ”‚   โ”œโ”€โ”€ shortcut_backup/
    โ”‚   โ”œโ”€โ”€ cleanup_tools/
    โ”‚   โ”œโ”€โ”€ disable_toggles/
    โ”‚   โ”œโ”€โ”€ compact_mode/
    โ”‚   โ”œโ”€โ”€ menu_search/
    โ”‚   โ””โ”€โ”€ help/
    โ”‚
    โ”œโ”€โ”€ Examples/
    โ”‚   โ””โ”€โ”€ example_plugin.lua
    โ”‚
    โ””โ”€โ”€ plugins_order.txt

Menu Order

Menu order is controlled by:

autorun/OzelModuller/plugins_order.txt

Each line represents one plugin id.

Example:

# Cheat Engine Custom Tools Menu plugin order
# One plugin id per line.
# Lines starting with # are ignored.
# Change the order of lines to change the menu order.

language
shortcut_tools
shortcut_backup
cleanup_tools
disable_toggles
compact_mode
menu_search
help

Lines starting with # are ignored.

To disable a plugin temporarily, comment it out:

# menu_search

To change the menu order, move the plugin id up or down in the file.

Only plugins listed in plugins_order.txt are loaded. This prevents test or example plugins from appearing accidentally.


Creating a Custom Plugin

To add your own menu tool, create a new folder inside:

autorun/OzelModuller/Plugins/

Example:

Plugins/
โ””โ”€โ”€ my_plugin/
    โ””โ”€โ”€ plugin.lua

A minimal plugin.lua file:

return {
  id = "my_plugin",
  caption = "My Custom Tool",

  build = function(ctx, menu)
    local item = ctx.createItem(menu, "Say Hello")

    item.OnClick = function()
      showMessage("Hello from my custom plugin!")
    end
  end
}

Then add the plugin id to plugins_order.txt:

my_plugin

Restart Cheat Engine. Your plugin will appear automatically.


Using an Existing Lua Tool as a Plugin

If you already have a Lua tool, place it inside your plugin folder.

Example:

Plugins/
โ””โ”€โ”€ advlist/
    โ”œโ”€โ”€ plugin.lua
    โ””โ”€โ”€ advlist.lua

Example plugin.lua:

return {
  id = "advlist",
  caption = "Advanced List",

  build = function(ctx, menu)
    local item = ctx.createItem(menu, "Open Advanced List")

    item.OnClick = function()
      local advlist = ctx.loadModule("advlist.lua")

      if advlist and advlist.open then
        advlist.open(ctx)
      else
        showMessage("advlist.lua was loaded, but open(ctx) was not found.")
      end
    end
  end
}

Example advlist.lua:

local M = {}

function M.open(ctx)
  -- Open your window or run your tool here.
end

return M

Important:

If your existing Lua script adds its own Cheat Engine menu item, remove that part and call the window/function directly from M.open(ctx).

The plugin system already handles menu creation.


Plugin Localization

Plugins may provide their own translation files.

Example:

Plugins/my_plugin/lang/en_us.lua
Plugins/my_plugin/lang/tr_tr.lua

Example en_us.lua:

return {
  my_plugin_title = "My Custom Tool",
  my_plugin_action = "Run Action",
  my_plugin_done = "Done."
}

Then use localization keys in plugin.lua:

return {
  id = "my_plugin",
  captionKey = "my_plugin_title",

  build = function(ctx, menu)
    local item = ctx.createItem(menu, ctx.T("my_plugin_action"))

    item.OnClick = function()
      showMessage(ctx.T("my_plugin_done"))
    end
  end
}

Localization is optional. Plugins can also use fixed captions.

Fallback order:

selected language โ†’ en_us โ†’ tr_tr โ†’ key name

Plugin Documentation

Plugin documentation is optional.

A plugin may include its own guide/about files:

Plugins/my_plugin/docs/guide_en_us.md
Plugins/my_plugin/docs/about_en_us.md
Plugins/my_plugin/docs/guide_tr_tr.md
Plugins/my_plugin/docs/about_tr_tr.md

If documentation files exist, the Help system can collect them in the order defined by plugins_order.txt.

This means new plugins can add their own help/about content without changing core files.


Context Menu Integration

The custom tools menu is also dynamically added to the Cheat Engine right-click context menu.

This allows you to access the same tools directly from the address list without navigating through the top menu.

When working with selected records, this provides a faster and more natural workflow for:

  • shortcut operations
  • backup actions
  • cleanup tools
  • toggle control
  • custom plugin actions

The context menu adapts to your selection, making frequently used operations easier to reach.


Installation

  1. Close Cheat Engine.
  2. Download the release ZIP asset.
  3. Copy the contents of the autorun folder into your Cheat Engine installation directory.
  4. Start Cheat Engine again.
  5. Open the new Custom Tools / ร–zel Araรงlar menu from the top menu bar.
  6. You can also access supported tools from the address-list right-click context menu.

Recommended structure:

Cheat Engine 7.5/
โ””โ”€โ”€ autorun/
    โ”œโ”€โ”€ 00_Ozel_Script_Baslatici.lua
    โ””โ”€โ”€ OzelModuller/
        โ”œโ”€โ”€ Core/
        โ”œโ”€โ”€ Plugins/
        โ”œโ”€โ”€ Examples/
        โ””โ”€โ”€ plugins_order.txt

Supported Languages

The project includes multilingual support.

Currently included languages:

  • Tรผrkรงe (Turkish)
  • Azษ™rbaycanca (Azerbaijani)
  • English US
  • Espaรฑol (Spanish)
  • Franรงais (French)
  • Deutsch (German)
  • ะ ัƒััะบะธะน (Russian)
  • ็ฎ€ไฝ“ไธญๆ–‡ (Simplified Chinese)
  • ุงู„ุนุฑุจูŠุฉ (Arabic)
  • เคนเคฟเคจเฅเคฆเฅ€ (Hindi)
  • เฆฌเฆพเฆ‚เฆฒเฆพ (Bengali)
  • Portuguรชs do Brasil (Portuguese/Brazil)
  • Bahasa Indonesia (Indonesian)
  • ุงุฑุฏูˆ (Urdu)

Notes

This project does not modify Cheat Engine itself.

It adds a custom tools layer through the autorun system and provides a plugin-based structure for extending the menu safely.

The core system is intended to remain untouched. New tools should be added through the plugin system.


About

Plugin-based Cheat Engine Lua tools menu for hotkeys, backups, cleanup, toggles, compact mode, menu search, multilingual UI and context-menu support.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages