Back to Courses
Game Modding Beginner csharp

BepInEx IL2CPP Game Modding: Architecture, Interop & IMGUI

Learn BepInPlugin, RegisterTypeInIl2Cpp, AddComponent, and build interactive mod menus with Legacy IMGUI.

4.99 (512 Student Ratings & Reviews)
4 Modules • 14 Lessons
5 Cloud Labs
Cryptographically Verified
Instructor Hana Senior Reverse Engineering Specialist
$14.99 or 149,900 pts
Lifetime Access to All Lessons & Source Files
Unlimited Real-Time Cloud Lab Code Execution
Automated Test-Driven Grading Engine
Verifiable Digital Certificate with QR Verification
Live IMGUI & IL2CPP Interactive Mod Sandbox

Course Overview & Learning Objectives

Essential Modding Skills You Will Master

  • The BepInPlugin Attribute: Plugin GUID, Display Name, Semantic Versioning, and BasePlugin.Load().
  • Il2Cpp Type Registration: Injecting custom C# classes into Unity's IL2CPP domain using ClassInjector.RegisterTypeInIl2Cpp<T>().
  • GameObject Component Injection: Creating persistent GameObject managers with GameObject.AddComponent<T>() and DontDestroyOnLoad.
  • Legacy IMGUI Mod Menus: Designing draggable windows using GUI.Window(), GUI.DragWindow(), GUILayout.Button(), GUILayout.Toggle(), and text fields.
  • Hotkey Toggling & Input Management: Listening to Input.GetKeyDown(KeyCode.Insert / F1) to toggle the UI overlay cleanly.
  • Interactive Mod Simulator: Write BepInEx code in the Cloud Lab and immediately test both runtime execution and live visual GUI rendering.

Curriculum & Syllabus

4 Module • 14 Lessons • 5 Cloud Labs

Module 1: IL2CPP Architecture & BepInPlugin Foundation
4 Lessons
1.1 IL2CPP vs Mono: Anatomy of Modern Unity Games Preview
20 min Start
1.2 The [BepInPlugin] Attribute & Plugin Metadata Preview
25 min Start
1.3 Plugin Lifecycle: BasePlugin and the Load() Method
20 min
1.4 BepInEx Logging: Log.LogInfo, LogWarning, LogError
15 min
Module 2: RegisterTypeInIl2Cpp & Spawning Components
3 Lessons
2.1 Registering Custom Types: ClassInjector.RegisterTypeInIl2Cpp
25 min
2.2 Spawning GameObjects & Calling AddComponent
25 min
2.3 Preserving Objects: Object.DontDestroyOnLoad
20 min
Module 3: Creating Mod Menus with Unity Legacy IMGUI
5 Lessons
3.1 The OnGUI() Lifecycle & GUI.Window()
30 min
3.2 Adding Interactive Controls: Buttons, Toggles & TextFields
25 min
3.3 Draggable Windows with GUI.DragWindow()
20 min
3.4 Hotkey Listeners & Menu Toggling with KeyCode
20 min
3.5 Custom GUIStyle & Theme Styling
20 min
Module 4: Harmony Hooking & Capstone Trainer
2 Lessons
4.1 Harmony Patching in IL2CPP: Prefix and Postfix
30 min
4.2 Capstone: Complete BepInEx IL2CPP Trainer Mod
35 min

Hands-On Interactive Cloud Labs

Easy +50 pts

Lab 1: Crafting the [BepInPlugin] Definition & Load()

CSHARP Enroll to Launch
Medium +50 pts

Lab 2: Il2Cpp Type Registration with RegisterTypeInIl2Cpp

CSHARP Enroll to Launch
Medium +50 pts

Lab 3: Spawning GameObject & AddComponent

CSHARP Enroll to Launch
Hard +50 pts

Lab 4: Building a Draggable Legacy IMGUI Window

CSHARP Enroll to Launch
Hard +50 pts

Lab 5: IMGUI Toggles & Hotkey Toggle Handler

CSHARP Enroll to Launch

Student Ratings & Reviews

Be the first student to review this course after completing the curriculum!