The ultimate Geometry Dash modding framework
Find a file
2022-10-30 21:24:06 +03:00
.github some minor changes 2022-10-23 15:23:55 +03:00
bindings added clang-format 2022-10-30 21:24:06 +03:00
cmake only hash png ogg and mp3 files 2022-10-20 21:47:29 +03:00
codegen Merge branch 'geode-sdk:main' into main 2022-10-22 20:20:09 +03:00
docs whole of geode except without history 2022-07-30 19:24:03 +03:00
filesystem whole of geode except without history 2022-07-30 19:24:03 +03:00
fmt fix Windows build + bump version to v0.4.0 + bump minimum mod version 2022-10-08 12:47:47 +03:00
loader added clang-format 2022-10-30 21:24:06 +03:00
.clang-format added clang-format 2022-10-30 21:24:06 +03:00
.gitignore add krita files to gitignore (don't ask) 2022-10-20 21:19:15 +03:00
.gitmodules now uses MinHook on Windows (😨) 2022-09-01 11:02:14 +03:00
CHANGELOG.md update changelog, hopefully we can actually get v0.6.0 released now 2022-10-22 22:55:28 +03:00
CMakeLists.txt Optimize TypeGen 2022-10-21 18:17:08 -05:00
entry.cpp more compile time optimizations 2022-10-13 12:56:23 +03:00
EULA whole of geode except without history 2022-07-30 19:24:03 +03:00
LICENSE.txt added clang-format 2022-10-30 21:24:06 +03:00
README.md Merge pull request #46 from KontrollFreek/main 2022-10-16 16:52:47 +00:00
VERSION bump version to v0.6.1 for CLI update fix 2022-10-23 11:56:17 +03:00

Geode Logo

Geode SDK

Geode is a Geometry Dash mod loader and modding SDK with a modern approach towards mod development. Unlike previous mod loaders, which merely inject the DLLs and let devs handle the rest, Geode aims to be a more comprehensive project, which manages loaded mods & hooks itself. Geode has been built to ensure performance, compatibility, portability and ease of use. For devs, Geode means easy development and portability; for end users, a uniform and easy experience using mods.

Why Geode?

There's nothing worse than having to read thousands of words just to see what some library's code actually looks like, so instead, here's a Hello World in Geode right off the bat:

#include <Geode/bindings.hpp>
#include <Geode/modify/MenuLayer.hpp>

USE_GEODE_NAMESPACE();

class $modify(MenuLayer) {
	void onMoreGames(CCObject*) {
		FLAlertLayer::create(
			"Geode",
			"Hello World from my Custom Mod!",
			"OK"
		)->show();
	}
};

This code hooks the "More Games" button in Geometry Dash, and makes it show a different popup when clicked. Compared to traditional modding methods such as MinHook, we would argue that this is much simpler to write, understand & maintain.

One of our main design goals with Geode has been to make a framework so good that after using it once, you never want to go back.

⚠️ It is important to note that Geode is not meant to make learning to mod easier. To make a good GD mod, you will still need to learn the ins and outs of C++, reverse engineering, byte patching, and everything else. Geode is merely a collection of tools that make modding more enjoyable for people who are already familiar with it; not a magic wand for making mods without the hours of experience and practice required.

Documentation

Detailed documentation, tutorials, and references on using the Geode SDK can be found here.

Contribution

You can contribute to Geode by opening a Pull Request!

Questions, help, etc.

If you have any further questions, need help, or just want to share your love for catgirls, be sure to join our Discord server!