Rankstone Logo

Modding Tutorial

29 days ago
AR

Areolis

Member
1

[GUIDE] How to Make a Rocket League Mod from Scratch (No BakkesMod | Full C++ SDK)

What's up everyone! Today I’m sharing a complete, start-to-finish guide on how to create a Rocket League mod entirely from scratch.
Unlike standard plugins, this does not use BakkesMod. Bypassing BakkesMod gives you absolute, low-level control over the game engine.
Below you will find the required files, the latest offsets, and a written breakdown of the video guide.

šŸ› ļø Prerequisites & Downloads

To follow along, you will need:
  • Visual Studio 2022 (with C++ Desktop Development)
  • Cheat Engine (for DLL injection and memory viewing)
  • Ghidra (for advanced offset/signature finding)
ā¬‡ļø Required Project Files: (Click the links below to download the project bases)
šŸ“Ž RLSDK Generator.zip (8.19 MB)
šŸ“Ž Mod Template.zip (9.41 MB)

šŸ’¾ Current Offsets (Epic Games)

If you don't want to find the offsets yourself right now, here are the latest ones for the Epic Games version (as of the latest update). You will need to plug these into the project files.
// --- Rocket League Epic Games Offsets ---

// Global Objects Array
constexpr uintptr_t GObjectsOffset = 0x23F0898; 

// Global Names Array
constexpr uintptr_t GNamesOffset = 0x2370850;   

šŸ“– Step-by-Step Summary

1. Generating the SDK

Before you can mod the game, you need to generate a Software Development Kit (SDK) specific to the current version of Rocket League.
  1. Open the RLSDK Generator project in Visual Studio.
  2. Go to Engine -> Template -> Configuration.cpp.
  3. Update the GObjectsOffset and GNamesOffset with the values provided above.
  4. Build the project in Release mode (x64).
  5. Open Rocket League, open Cheat Engine, and inject your newly built CodeGenerator.dll into RocketLeague.exe.
  6. A message box will appear saying generation has started. Wait ~20 seconds. Once finished, an RLSDK folder will be generated in your *C:* drive.

2. Fixing the SDK Headers

Open the generated RLSDK folder using VS Code.
  1. Navigate to SDKHeaders.hpp.
  2. Add #include "GameDefines.hpp" at the very top of the file.
  3. Ensure the core files are included before the engine files to prevent compilation errors.

3. Setting Up the Mod Template

  1. Extract the Mod Template zip.
  2. Replace the empty RLSDK folder inside the template with the one you just generated.
  3. Open the Mod Template project in Visual Studio.
  4. Navigate to Components -> Components -> Core.cpp.
  5. Update the offsets here as well (they must match the ones used in the generator).
  6. Build the project, inject the new DLL into the game via Cheat Engine, and if done correctly, a template GUI will appear in-game!

4. Modifying Game Data

You now have the ultimate playground. There are two main ways to modify the game:
  • Hooking Functions (Events.hpp): Hook into game functions to edit parameters before they are executed.
  • Searching Instances (Instances.hpp): Search all loaded instances by class type or name to edit them dynamically.
(For creating buttons or visual GUI elements, look inside GUI.cpp -> InitMainTab() and copy the existing ImGui examples).

embed

šŸ” Deep Dive: Finding Offsets Manually & Byte Signatures

Hardcoded offsets break every time Rocket League updates. To make your mod "update-proof", you need to use Byte Signatures (AOBs).
I have created a dedicated video explaining exactly how to dump the game in Ghidra, locate the ByteProperty and MaxObjectsNotConsideredByGC strings to find your GNames and GObjects pointers, and how to use AI to generate flawless signatures.
Watch the advanced Offset & Signature guide here:
Example Signature for GNames: Instead of hardcoding 0x2370850, you scan the memory for this instruction pattern:
// Dynamic GNames Pattern
48 8D 0D ?? ?? ?? ?? 33 D2 41 B8 00 00 08 00
Note: The question marks ?? represent wildcards for memory addresses that change. You can test these signatures directly in Cheat Engine by doing an "Array of byte" scan on executable memory!

šŸ’¬ Conclusion

This SDK gives you the keys to the Unreal Engine kingdom. You can explore TAGame_classes.hpp to see exactly how Rocket League handles physics, cars, and the ball.
If you guys have any questions, get stuck on compiling, or want me to cover specific features (like drawing hitboxes or manipulating ball velocity) in the next tutorial, drop a reply below!
Happy Modding! šŸš—āš½šŸ”„
Modding Tutorial | Rankstone Forums