An Unreal Engine plugin that provides an easy way to implement console commands in blueprints through custom CheatManager and CheatManagerExtension classes
if you like the plugin and want to support & encourage me you can buy me a coffee or purchase Professional license on Fab (NOTE: Fab version is distributed with Fab Standart license!)
- Easy: derive from
CowCheatManagerand add functions under "Cheat" category (can be changed viaCheatCategoryPrefix), all in Blueprints. - Auto-complete:
- All commands within active cheat manager is autoregistered and added to Unreal`s console
- Function
Descriptionis used as a console command help - All arguments automatically added to help

- Support of Enums (both Blueprints and C++), primitive types, GameplayTags, Structures (however structs have very inconvinient syntax for console usage, e.g.
FVectorparameter should be passed as(x=1.5,y=2.6,z=3.7), no spaces allowed, all members must be named explicitly so I recommend avoid using structs as console command parameters)
- Custom colors: Color of console commands can be changed in
Blueprint Console Commands SettingsviaMainCheatColoror by usingOverrideCheatColorinCowCheatManagerExtensionif you want extension to have a specific color coding. - Modular: exposed
CowCheatManagerExtensionfor modular console commands, add withAddCheatManagerExtensionClass. TheCheatprefix can be changed viaCheatCategoryPrefix. - Data Validation: Warnings when console commands has no description (can be disabled via
bDisableMissingDescriptionWarnings) and validation for conflicting names with existing console commands. - Cpp Support: CheatManager's console commands can be added directly in code, so designers and programmers don't kill each other :P
However note that if you want to use C++ only
// Command description is here UFUNCTION(Category = "Cheat|Gameplay") void CppCommand(float MyFloat);
CowCheatManagerorCowCheatManagerExtensionyou'll still need to create an empty Blueprint class derived from them and use/add that one to your game. That's limitation is implied because reflection information required for auto-complete is available only in the editor build and that data is being serialized/baked into the asset. Native C++ classes don't do that naturally.
You should know how to do it but if for whatever reason you dont, you can use following options:
- Download via
Fab(for precompiled binaries, most suitable if you have Blueprints only project), Unreal Engine Plugin documentation if you need info on how to enable the plugin - Download source into
ProjectName/Plugins/BlueprintConsoleCommandsand build the project.
- Go to
Content Browser - Create a
Blueprint Class - Select
CowCheatManageras parent class
- Rename it to something useful
BP_CheatManagerorBP_MainCheatManagerare good starting points
- Open it and read introduction comment (can be disabled via
bCreateDefaultConsoleCommands) - Add a new function
- For function to be treated as a console command you need to place it under
Cheatcategory (Can be changed viaCheatCategoryPrefix). For nested categories use|e.g.Cheat|Gameplayin that case command should be invoked asCheat.Gameplay.FunctionNameFunction's description is used in auto-complete, don't ignore it and describe your command! (but if warnings are annoying can be disabled viabDisableMissingDescriptionWarnings)
- Go to your
PlayerControllerand select newly createdCheatManagerasCheatClass
- Start the game, open console and execute
Cheat.ExampleCommand, you should see auto-complete in action andHelloas the result ofPrintStringnode
- Create new blueprint derived from
CowCheatManagerExtension - Add commands as in regular
CowCheatManager(see above) - Optionally change color of auto-complete for commands defined in that extension
OverrideCheatColor - In appropriate place (preferrably your modular feature/core initialization) get your
PlayerControllerandAddCheatManagerExtensionClass
- When extension no longer needed, remove from cheat manager
Project-wide settings could be found in Project Settings -> Editor -> Blueprint Console Commands Settings
CheatCategoryPrefix- essential to ensure that internal helper functions within the cheat manager are not exposed as public console commands. By using the project name as the primary category prefix, it helps in clearly distinguishing the project-specific console commands from the default ones provided by the engine. All console commands created in this project must start with this prefix. Additional sub-categories can be structured like "CheatCategoryPrefix.Gameplay.Stealth" to organize commands further under the main category.MainCheatColor- Color that will be used for commands autocomplete in console.CowCheatManagerExtensioncan override the color, so different modules have unique color it can be disabled by switchingbForceCheatExtensionsUseMainColorto true.bForceCheatExtensionsUseMainColor- If trueCowCheatManagerExtensionwill use color defined by MainCheatColor instead of their override.bDisableMissingDescriptionWarnings- If true Validation won't cry about missing comments for console commands but I beg you to spend additional 5 minutes to think about descriptive comment 🙏bCreateDefaultConsoleCommands- Whether to create default template console commands in newly createdCowCheatManager/CowCheatManagerExtension. Helpful for beginners, might be redundant for somebody who get used to the plugin









