Fork of Geode SDK for Geometry Dash, with like one thing changed
Find a file
7cc5c4f330d47060 71ff5b9444
Some checks failed
Build Binaries / Build Windows (push) Has been cancelled
Build Binaries / Build macOS (push) Has been cancelled
Build Binaries / Build Android (64-bit) (push) Has been cancelled
Build Binaries / Build Android (32-bit) (push) Has been cancelled
Build Binaries / Build iOS (push) Has been cancelled
Check CHANGELOG.md / Check CHANGELOG.md (push) Has been cancelled
Build Binaries / Publish (push) Has been cancelled
Merge remote-tracking branch 'geode/main'
2026-03-26 23:09:11 -04:00
.github enable unity build on windows 2026-02-27 11:19:28 +01:00
cmake Download net libs (#1858) 2026-02-25 21:31:04 +01:00
installer add check taskbar message to installer 2026-03-23 00:31:25 +01:00
loader Merge remote-tracking branch 'geode/main' 2026-03-26 23:09:11 -04:00
.clang-format some formatting 2022-12-03 15:24:31 +03:00
.editorconfig add editorconfig to trim trailing whitespaces 2025-05-23 16:02:53 -03:00
.git-blame-ignore-revs add previous commit to blame ignore file 2025-05-23 16:28:39 -03:00
.gitattributes get that C out of here 2026-02-22 17:47:52 -03:00
.gitignore Add information about LLVM and Clang 21 2026-02-26 01:26:39 -05:00
CHANGELOG.md bump ver and changelog 2026-03-22 11:27:39 +01:00
CMakeLists.txt Crashlog rework (#1939) 2026-03-20 16:43:21 -07:00
CODE_OF_CONDUCT.md link geode sdk account in code of conduct 2024-08-09 18:42:39 +03:00
CONTRIBUTING.md chore(CONTRIBUTING): add a link to bindings repo 2025-04-22 16:08:13 +03:00
entry.cpp fix empty break body 2026-02-22 18:13:48 -07:00
flash.toml try including arc and asp2 in docs 2026-02-01 14:13:36 -03:00
GEODE_EULA Add geode eula back 2026-02-23 18:23:26 -05:00
LICENSE.txt added clang-format 2022-10-30 21:24:06 +03:00
README.md a 2026-03-23 07:01:35 -04:00
title.png add title.png 2023-01-24 11:32:31 +02:00
VERSION bump ver and changelog 2026-03-22 11:27:39 +01:00

Home page

Geode is a Geometry Dash mod loader and modding SDK with a modern approach towards mod development.

Why Geode?

Unlike previous mod loaders, which merely inject the DLLs and let devs handle the rest, Geode aims to be a more comprehensive project that provides all the tools needed for creating mods in one package.

Geode's goal is to solve mod incompatibility - to ensure that mods work together without buttons getting misplaced or hooks mysteriously disappearing.

"Hello World!" Example

Here's a Hello World mod in Geode:

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

using namespace geode::prelude;

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

This code modifies what happens when the "More Games" button is clicked on the home scene in Geometry Dash, showing a custom popup.

Documentation

Detailed documentation, tutorials, and installation instructions on using Geode can be found here.

New to modding GD? Geode's documentation also comes with a handy tutorial book that explains all the basics of GD modding!

Contribution

You can contribute to Geode by opening a Pull Request! Please follow the contribution guidelines.

Build instruction - not added by geode team

When building for another platform, delete the build directory in the root of the Geode source tree.

Windows (must be run on Linux)

  1. Follow CI until configuration.
  2. export SPLAT_DIR=$(pwd)/.xwin-cache/splat TOOLCHAIN=$(pwd)/toolchain/clang-cl-msvc.cmake HOST_ARCH=x86_64
  3. ./xwin --arch x86_64 --sdk-version 10.0.22621 --accept-license list (may not be required, it should have been ran in ci)
  4. cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DGEODE_CODEGEN_CMAKE_ARGS="-DCMAKE_C_COMPILER=clang;-DCMAKE_CXX_COMPILER=clang++;-G Ninja" -G Ninja -DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DGEODE_UNITY_BUILD=ON
  5. cmake --build build --config RelWithDebInfo --parallel
  6. Geode files will be in bin/nightly/. These can be manually installed onto a Windows copy of Geometry Dash, in the same directory as GeometryDash.exe.

Android (must be run on non-Android Linux)

  1. Download the Android NDK at https://developer.android.com/ndk/downloads/, and set ANDROID_NDK_LATEST_HOME to the path of the NDK with export ANDROID_NDK_LATEST_HOME=/path-to/android-ndk/
  2. Follow CI until configuration.
  3. cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DGEODE_CODEGEN_CMAKE_ARGS="-DCMAKE_C_COMPILER=clang;-DCMAKE_CXX_COMPILER=clang++;-G Ninja" -G Ninja -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DANDROID_PLATFORM=android-23 -DANDROID_STL=c++_shared -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DANDROID_ABI=arm64-v8a. Replace arm64-v8a with armeabi-v7a if you want to build for 32-bit Android.
  4. cmake --build build --config RelWithDebInfo --parallel
  5. Geode files will be in bin/nightly/. The .so can be manually installed onto the Geode app on your device with adb push bin/nightly/Geode.android64.so /sdcard/Android/media/com.geode.launcher (bin/nightly/Geode.android32.so on a 32-bit build), or with the built-in file browser (may not work on all models). Ensure that automatic updates are disabled, or it will get replaced with the regular version of Geode automatically.

Questions, help, etc.

If you have any further questions, need help, be sure to join the Geode Discord server!