Game Vendor: ► Steam ◄
Game Version: 1.0
Game Process: GearsTactics.exe
Game File Version: 1.0.0.0
Hello folks.
This topic will not tackle the usual stuff you find in trainers. Please don't fill it in with all sorts of requests. You can find trainers with god, ammo, etc. in the Trainers section; your choice whose you want to use. This topic is about Unreal Engine 4, console, the default engine cheats (god, slomo, playersonly, fly, ghost, hud, etc.), mapping UObject properties by offsets and dumping the in-engine objectalia.
[ 1 May 2020 - First Release ]
Attached below is a DLL that will do the following:
- Run threaded UE4 code to create the UConsole UObject, member of GameViewportClient; you may then use Tilde (~) key to open up the console. As far as what you can or can't do with the console, well.. I'm not the game developer You'll have to google around for commands, test stuff out and return with feedback, as opposed to just asking "what are the commands?" and waiting to be spoon-fed.
- Will dump the UE4 FNameArray and UObjectArray, along with their addresses. What this means is you can then know what the fuck you're looking at in memory, when debugging/tracing or mapping structures, and come up with your own conclusions. Just like I did with my table below.
- Will hook APlayerController::PostInitialize function to allow creation of the CheatManager UObject every time there is a transition (main menu<->game world; map<->map).
Instructions:
- Download the archive; extract content to a folder of your choice.
- Run the game, get to main menu.
- Run IGCSInjector.exe. You can close it when asked.
- Takes 1-2 seconds for the DLL to find the stuff, StaticCreate the Console UObject, hook some code to allow CheatManager UObject creation and dump Names/Objects to disk.
- You may then use Tilde (~) key to open up the console in-game.
Notes:
- The dump location is your game folder (e.g.: F:\SteamLibrary\steamapps\common\GearsTactics\GearGame\Binaries\Steam). You will find 2 files there: NamesDump.txt and ObjectsDump.txt. You'll be very interested in the 2nd one
- The .txt files are generated at "run-time". What this means is if you transition in-game from one map to another or from main menu to game world and backwards, you need to re-dump them. Why? UE4 destroys and recreates UObjects; re-initialization. To re-dump the .txt files press Numpad / (no, key can't be changed).
- If Tilde (~) key doesn't work then you need to head to %LocalAppData%\GearsTactics\Saved\Config\PC folder. Just press WinKey+R and paste the path in, then Enter to go there. You will see a file here called Input.ini. Open it and paste the two lines below:
You may change Tilde to any key you like (e.g.: F10). Save the file and you're done.[/Script/Engine.InputSettings]
ConsoleKey=Tilde
Q&A:
1. Why do I need to inject the DLL at main menu?
A: There are 2 things to consider here. a) You need to be at least at main menu as the GameViewportClient UObject in which the Console UObject is going to be initialized needs to exist. It doesn't exist when you are: at intro videos, when the loading screen with all the technologies they used shows. The moment when the injection is safe to do, as a starting point, is at main menu, past the login stuff. b) Aside from creating the Console UObject and dumping the 2 .txt files, the DLL hooks a spot in APlayerController::PostInitialize function which allows the creation of the CheatManager UObject every time there is a transition. The earliest possible transition you can do is between main menu and going in game world. If you're already in the game, then you won't have the CheatManager available; meaning after you inject the DLL while in-game you will have to quit mission, go to main menu, then back in-game. Just so you can benefit from using CheatManager commands. After at least one transition you're good to go for the rest of your game session. So.. do it when you want, but keep in mind what I'm explaining here.
2. Can you make it work with my Microsoft Store version?
A: No. M$ Store games use UWP (Universal Windows Platform) mechanics, which envelopes the game and makes it run in a "sandbox" environment. Much like a virtual machine. Considering the definition of a VM, for anything you would want to "export" from the VM to your OS you would need special permissions. That being said, the DLL - if it works injecting - won't be able to write to disk (regardless of the folder you choose) the NamesDump.txt and ObjectsDump.txt files. If the injection does work, then you will get the Console and ability to run CheatManager commands; but not the 2 .txt files dumped to disk. Why the injection may possibly not work - I haven't tested - is due to the same special permissions you'd need to have/obtain. Can it be done though? Yes. However, I find it a waste of time accommodating my stuff for one single platform, as if Microsoft is someone important to get special attention from my end
3. Can you tell me what the commands do?
A: No, from start. However, as I test some commands and functionality, I may be able to explain a bit. Just keep in mind I am not the game's developer, so it's not my job or responsibility to KNOW what the commands do. Everything command that's specific to a certain game.. I don't know what it does. You may get the idea from the name of the command, from testing it and so on.. but aside from god, fly, ghost, walk, playersonly, slomo, toggledebugcamera, I don't need others. Lastly, most (99%) of the CheatManager commands in this game don't do anything. The developers made sure to exclude the compiling of the commands' core code in the Shipping build by placing #if !UE_BUILD_SHIPPING .. #endif markers. What that means is if the build they're compiling is a Shipping one, then due to the ! (not) marker, the code between the if .. endif will not get compiled and you won't see any assembly but a "RET 0" if you debug the UFunction's exec. If this is Chinese to you, then stop at "most commands don't do anything".
How to use this cheat table?
- Install Cheat Engine
- Double-click the .CT file in order to open it.
- Click the PC icon in Cheat Engine in order to select the game process.
- Keep the list.
- Activate the trainer options by checking boxes or setting values from 0 to 1