Under set configurations, this tool can allow any connected players to EXECUTE CONTROLLED CODE ON YOUR MACHINE.
Only use this tool with people you trust, and only if you understand the risks involved.
Additionally, the tool allows for spawning experimental and unimplemented items, which can potentially break your save files or cause other issues.
It is highly recommended to BACKUP YOUR SAVE FILES before using this tool, especially if you're experimenting with spawning random items.
Please refer to the Notes section for more information.
This tool works both with Singleplayer and Multiplayer.
However, in case of multiplayer lobbies, only the LOBBY HOST can use this.
- Ugly-ass GUI: A simple window for convenience and abstraction of command line, copypasted straight out of MS Docs Examples.
- Broken CLI: With a hand-half-full of commands.
- Chat Commands: If you don't want to ALT-TAB all the time.
- Item Spawner: Allows either the host of the game lobby, but optionally also all connected players to spawn game items into their inventories.
- Class Summon: Internal
CheatManagersummon command for internal classes. Can summon JuiceBoxes with this! (gl not getting stuck in them) - Cheat Manager: Internal
CheatManagerinvokes for stuff like adding molars, raw science, unlocking stuff, etc. - Build Anywhere: Bypasses building restrictions, allowing for building without construction support, overriding obstructions and the need for land rights.
- Debug Helpers: Misc utils for dumping internal item names and data tables, as well as gathering lobby and player info.
- Native Function Hooking: Easily extendable hook manager that allows for
UFunctionhooking. - That's it: Adheres to the "Minimal" part of the program's name.
- Download or build Grounded2Minimal.dll
- Load into the game. Like actually load into the world, not just main menu.
- Inject Grounded2Minimal.dll into
Grounded2-WinGRTS-Shipping.exe(Steam), orGrounded2-WinGDK-Shipping.exe(Xbox Game Pass) using your fave injector. - Enjoy
The simple GUI provides the following features:
- Show Debug Console: Shows/Hides the debug console.
- Global Cheat Mode: Controls whether connected players are allowed to spawn items using chat commands.
The player list tab will display connected players. This tab refreshes every 5 seconds (or 7 seconds if you're actively interacting with the GUI).
The DataTable tab will display all internal data tables, which are basically groups that contain different items. Usually Table_AllItems is the one you want to use, unless you're experimenting.
The ItemName tab will display all internal item names contained within the selected data table. You can search for items by typing in the "Filter" search box, however, the names can sometimes be unintuitive.
The Item Count field allows you to specify how many items you want to spawn. By default it is set to 1, with maximum being hardcapped to 999.
In order to spawn an item:
- Select a player from the list who will receive the item.
- Select a data table from the dropdown.
- Select an item from the dropdown.
3.5 Optionally, you can specify the quantity. - Click the "Spawn Item" button.
It is possible to spawn items using the in-game chat, however, you must know the target item's internal name, in order to do so.
Once you have that, you can use enter the following command into the chat:
/spawnitem <item_name> [<quantity>]
<item_name> is the internal name of the item you want to spawn, and <quantity> is an optional parameter that specifies how many items you want to spawn (default is 1, maximum is 999).
You CANNOT spawn items into other players' inventories via chat commands.
Example: /spawnitem DandelionPuff 10
Refer to CLI Usage.
Internal summon CheatManager command for summoning internal classes.
Now works in multiplayer too!
Can easily crash the game when summoning weird stuff.
Choose a class from the list of and click the 'Summon' button.
The debug console can be used to execute the following commands:
| Command | Description |
|---|---|
Help |
Displays all available commands |
C_CullItemInstance |
Cull item by instance ID |
C_CullItemType |
Cull all items of set type |
H_GetAuthority |
Checks if you're the host |
F_ClassDump |
Finds all classes containing a given string needle |
F_DataTableNeedle |
Finds all data tables containing a given string needle |
F_FindItemTable |
Finds all data tables containing a given item name |
F_FunctionDump |
Finds all functions containing a given string needle |
F_EntryDump |
Finds all entries within a given data table name |
I_SpawnItem |
Spawns a selected item into a selected player's inventory |
P_ShowPlayers |
Lists connected players |
S_SummonClass |
Summons a selected class |
S_BuildAll |
Finishes all building blueprints |
OPT_BuildAnywhere |
Enables 'Build Anywhere' mode |
OPT_GetDodgeDistance |
Get player dodge distance |
OPT_SetDodgeDistance |
Set player dodge distance |
OPT_GetStaminaRegenRate |
Get player stamina regen rate |
OPT_SetStaminaRegenRate |
Set player stamina regen rate |
OPT_GetStaminaRegenDelay |
Get player stamina regen delay |
OPT_SetStaminaRegenDelay |
Set player stamina regen delay |
OPT_GetMaxActiveMutations |
Get max active mutations |
OPT_SetMaxActiveMutations |
Set max active mutations |
OPT_GetMaxCozinessLevelAchieved |
Get max coziness level achieved |
OPT_SetMaxCozinessLevelAchieved |
Set max coziness level achieved |
OPT_ToggleHandyGnat |
Force enable/disable Handy Gnat availability |
OPT_ToggleAutoCompleteBuildings |
Toggle auto-completion of building placements |
OPT_ToggleBuildingIntegrity |
Toggle building integrity checks |
<Item Name Needle> |
Searches for spawned items around the player by a given name needle (empty input displays all) |
X_HookInfo |
Show details on installed hooks |
X_DebugToggle |
Toggles debug output (very spammy and performance heavy) |
X_GlobalCheatMode |
Toggles Global Cheat Mode |
X_InitCheatManager |
Initializes CheatManager |
X_ToggleDebugPlayerReport |
Toggle automatic debug player report |
X_ReloadBinds |
Reloads key binds from configuration file |
X_ShowGameOptions |
Show current game options set by the tool |
exit or quit |
Unloads game hooks and exits the tool |
As of right now, there are only 2 keybinds:
| Key | Description |
|---|---|
F1 |
Completes all building blueprints (BuildAll) |
F3 |
Enabled/Disables "Build Anywhere" |
The trigger keys can be modified by editing G2MinimalConfig.ini, which will be created inside the directory where the game executable is located, after the tool has been loaded at least once.
The file is structured as follows:
BuildAll=0x70
BuildAnywhere=0x72
The hexadecimal numbers represent Virtual Key Codes which can be found here - Microsoft Learn - Virtual Key Codes.
To change a specific key bind, simply change the original value to a desired hexadecimal value.
To reload keybinds while the tool/game is running, use the X_ReloadBinds console command.
To build the project, you need to have a valid SDK dump generated via Dumper-7.
Once you have the SDK dump, place the contents of CppSDK directory into Grounded2Minimal\Grounded2Minimal, i.e. $(ProjectDir).
Here's a reference tree:
Grounded2Minimal [$(ProjectDir)]:
| dllmain.cpp
| blah blah blah cpp/hpp
| NameCollisions.inl
| PropertyFixup.hpp
| SDK.hpp
| UnrealContainers.hpp
| UtfN.hpp
+---SDK/
| sdk gen cpp/hpp
| blah blah blah
C++17 or higher is required.
Note:
If one of the following offsets in CppSdk\Basic.hpp is 0 (0x00000000):
GWorldGNamesGObjects
- use this additional dumper tool - G2Dumper, or find the offsets manually.
- This tool is more of a proof of concept meme than a dependable tool. I have zero knowledge in OOP, and minimal knowledge of Unreal Engine, or non-C C++ features.
- Please BACKUP YOUR SAVE FILES before using this tool, especially if you're experimenting with spawning random weird sheit.
- Please note that if "Global Cheat Mode" or "Global C2 Authority" is enabled, all connected players can use the chat commands to spawn items or trigger C2Cycles, respectively, which means that players can !!!EXECUTE CONTROLLED CODE ON YOUR MACHINE!!!.
This code is controlled, but I cannot guarantee that it cannot be exploited, so please only use this tool with people you trust. - Crashes may occur when (re)loading saves, or backing out to the main menu.
- Upon exiting the game, the tool sometimes keeps the game process running, so consider killing it manually.
- The tool was only tested with 2 players, because I don't have friends (F).
The code is a complete dog mess, I have no idea what I'm doing when it comes to OOP and Unreal Engine, but I tried to keep it as modular as possible.
File Index:
Command.cpp/hpp- Command buffer processed inside the game thread via hooked process events.CoreUtils.cpp/hpp- Core/Standard utility functions.HookManager.cpp/hpp- Manages ProcessEvent hooks.CheatManager.cpp/hpp- CheatManager functions.ItemSpawner.cpp/hpp- Item Spawner implementation.UnrealUtils.cpp/hpp- Misc Unreal Engine helper utilities.PlayerCache.cpp/hpp- Caching system.WinGUI.cpp/hpp- The GUI "implementation" lol.Interpreter.cpp/hpp- Command line interpreter implementation.Logging.cpp/hpp- Logging utilities.dllmain.cpp- The main entry and command line interpreter implementation.
Cheat Manager functions can be added via the following steps:
- Define a new
CheatManagerFunctionIdenum value for the wanted function inCheatManager.hpp. - Implement the function call in
CheatManagerExecute(CheatManager.cpp). - Optionally, add a GUI button for the function inside
CheatButtonDefinition g_CheatButtons[]inWinGUI.cpp, or a callable CLI command inInterpreter.cpp.
- Dumper-7 - Used to generate the SDK dump.
- Unreal Engine Documentation - Misc UE stuff.
- MS Docs - GUI skeleton copypasta.
Q: Can I get banned for using this tool?
A: No, there's no anti-cheat.
Q: My Anti-Virus software detected this as a threat, what do I do?
A: If you downloaded this tool from GitHub Releases or NexusMods, then this is a false positive, and you can ignore it.
Q: How can I trust that?
A: The tool is open-source, you can analyze the source code yourself, or ask AI to do so for you. Additionally, you can compile the tool yourself.
Q: I am crashing when using the tool.
A: Please submit a bug report.
Q: Will an XYZ feature be added?
A: Possibly! Check the Trello Board!
Q: Why is this being released now, when Grounded 2 is dropping in less than 2 weeks?
A: Good question xD
This project is licensed under the GNU General Public License v3.0.
The content of this repository exists purely for educational purposes, and the author is not responsible for any damages caused by this software.
Distribution of this software without providing the source code is a violation of the GNU General Public License v3.0.
Don't trust sketchy dipshits about claims of their modified versions having super-duper-secret features. You're probably looking at amateur malware. Yes, this is a dig.
Grounded2Minimal - Debugging tool for Grounded 2
Copyright (C) 2025 x0reaxeax
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
