Made For Unreal — Docs
Blueprint CheatsAPI ReferenceBlueprint API

UI (Blueprint)

The three UMG layers of the cheat overlay — menu, row, argument widget — and how to subclass each.

The cheat overlay is composed of three UMG layers, all of which can be subclassed and replaced as Blueprint widgets:

Blueprint Cheats Menu Widget Base           ← whole overlay (one instance)
 └── Blueprint Cheat Script Menu Item Base  ← one row per enabled cheat
      └── Blueprint Cheat Argument Widget Base   ← one widget per argument

Override at any level — replace the entire menu, just the row, or just the per-argument widgets — without touching the rest.


Blueprint Cheats Menu Widget Base

The whole overlay. Configured via Project Settings → Blueprint Cheats → Cheats Menu Class.

Default asset: /BlueprintCheats/UI/WBP_BlueprintsCheats_Menu.

Required widgets (BindWidget)

Your widget Blueprint must contain widgets with these exact names and types — UMG won't let the widget compile without them:

NameTypePurpose
CheatsListViewScroll BoxContainer the subsystem populates with cheat rows.
CloseButtonButtonCloses the menu.

Events you can override

  • Set Cheat Scripts — receives the array of enabled scripts when the subsystem opens the menu. Default behavior: walks the array, calls Build Widget on each script, and adds the resulting row to CheatsListView. Override (and call Parent: Set Cheat Scripts) for grouping, search, or custom sorting.
  • On Menu Closed — fires when the user presses the close button. Default broadcasts the close-menu delegate, which the subsystem listens on to tear the menu down.

Delegate

On Cheat Menu Closed — the delegate the subsystem uses to remove the menu. Don't unbind it; the subsystem manages the lifecycle.


Blueprint Cheat Script Menu Item Base

The row used per enabled cheat. Configured per-cheat via the cheat asset's Widget Class field.

Default asset: /BlueprintCheats/UI/WBP_BlueprintsCheats_MenuItem.

Required widgets (BindWidget)

NameTypePurpose
TitleTextBlockText BlockDisplays the script's display name.
ControlsContainerHorizontal BoxContainer the row populates with one argument widget per argument.
ExecutionButtonButtonThe "run" button.

State exposed to the widget

VariableTypePurpose
Related ScriptBlueprint Cheat ScriptThe cheat this row represents.
Script Cheat ArgumentsMap<Name, Blueprint Cheat Argument>The arguments to be filled in.
Argument WidgetsArray of argument widgetsThe widgets generated into ControlsContainer.

Events you can override

  • Set Related Script — caches the script, copies its expected arguments into Script Cheat Arguments, builds an argument widget per entry via Build Widget For Argument, and adds each to ControlsContainer. Override for custom layouts.
  • On Execution Button Clicked — walks the argument widgets calling Commit Value on each, then asks the subsystem to execute via Execute Script.

Blueprint Cheat Argument Widget Base

The base for the per-argument editor widget. There is one default implementation per argument type:

ArgumentDefault widget
Bool argumentWBP_BlueprintCheats_BoolArgument
Int argumentWBP_BlueprintCheats_IntArgument
Float argumentWBP_BlueprintCheats_FloatArgument
Double argumentWBP_BlueprintCheats_DoubleArgument
String argumentWBP_BlueprintCheats_StringArgument
Enum argumentWBP_BlueprintCheats_EnumArgument

The mapping lives in Project Settings → Blueprint Cheats → Argument Type To Widget Map (under Advanced). Override entries to swap defaults, or add entries for custom argument subclasses.

Required widgets (BindWidget)

NameTypePurpose
ArgumentDisplayNameBlockText BlockShows the argument's display name.

State exposed to the widget

VariableTypePurpose
Expected ArgumentBlueprint Cheat ArgumentThe argument this widget is editing.

Events to implement

  • On Expected Argument Set (BlueprintImplementableEvent) — fires after the row binds the argument. Read the argument's configuration here (defaults, min/max, enum options) using the argument-library nodes and populate your control accordingly.
  • Commit Value (BlueprintImplementableEvent) — fires on the row's execute button. Push your control's current value into the argument using the setter nodes.

Authoring a custom argument widget

  1. Create a new Widget Blueprint deriving from Blueprint Cheat Argument Widget Base.
  2. Add an ArgumentDisplayNameBlock Text Block (required).
  3. Add your editor controls (spinner, slider, dropdown, etc.).
  4. Implement On Expected Argument Set to read configuration from Expected Argument.
  5. Implement Commit Value to write your control's current value back to the argument.
  6. Register the widget in Argument Type To Widget Map for the argument class it edits.