Unreal Engine has a built-in debug console that can be used for executing commands or "cheats" as Unreal calls them. The console is accessed by pressing the tilde key (it's to the left of the 1 key on most keyboards, and has ` and ~ on it).
Unreal provides many built-in commands like stat fps
for showing the frames per second, but it is especially useful for adding your own debug commands or cheats.
By default, the console is only available in the editor, development and test builds (i.e. not shipping builds).
C++ Setup
Subclass UCheatManager
In order to add our own functions and make them available through the debug console, we will need to create a subclass of UCheatManager
, and create a subclass of APlayerController
if we do not have one already.
As always, we'll be using the naming conventions from the best practices document, where we prefix custom classes with a project-specific set of letters, in this example BUI
.
Subclass APlayerController
Remember that you will also need to modify your level's GameMode to use this Player Controller subclass.
Adding Functions
Now that we have a custom subclass of UCheatManager
, and we have made sure that our player controller is using it, we can start adding our own functions.
Here are a few examples to get you going. What you will need will depend on your game!
How to Run your Cheats
Using the examples above, set a breakpoint in BuyCakes
and SetCakeName
, open up the debug console with the tilde key, and type in the following:
BuyCakes 100
You should see that NumCakes is 100, and Diameter is your default value of 1. Note that parentheses are not required when calling cheats from the console.
SetCakeName Delicious Cheesecake
NewName is "Delicious Cheesecake", note that we did not have to add quotation marks when calling the cheat command, it globbed all the subsequent text together into our single parameter. Nice!
Useful General-purpose Functions
The majority of functions in your cheat manager will be things that are specific to your game. For example in an RPG you might add cheats to give the player extra money or immediately complete certain quests.
However here are a few functions that are useful to have in general.
Please let me know if you have any of your own and I can add them here!