# geode-sdk/geode

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/geode-sdk-geode).**

2,564 stars · 489 forks · C++ · BSL-1.0

## Links

- GitHub: https://github.com/geode-sdk/geode
- Homepage: https://geode-sdk.org/
- awesome-repositories: https://awesome-repositories.com/repository/geode-sdk-geode.md

## Topics

`cpp` `cross-platform` `geode` `geode-sdk` `geometry-dash` `low-level` `mod` `modding` `modding-framework` `modding-library`

## Description

Geode is a game modification SDK and mod loader for Geometry Dash. It functions as a hooking engine and UI framework that allows for the injection of dynamic libraries to alter game behavior and add new features.

The toolkit distinguishes itself through a centralized mod compatibility manager and hook registry that tracks active modifications to prevent logic conflicts and application crashes. It utilizes a trampoline-based hooking engine to redirect game function calls while preserving native call stacks, alongside a dedicated UI framework for rendering custom popups and interface components within the game scene graph.

The platform covers a broad range of capabilities including runtime symbol resolution, manifest-driven dependency management, and event-driven lifecycle management for loading and unloading mods. It also provides a sandboxed execution context to restrict unauthorized memory access and system calls.

## Tags

### Game Development

- [Game Modding Toolkits](https://awesome-repositories.com/f/game-development/game-modding-toolkits.md) — Provides a comprehensive SDK for creating custom modifications for Geometry Dash by injecting code and altering behavior.
- [Function Hooking](https://awesome-repositories.com/f/game-development/function-hooking.md) — Intercepts and redirects internal game function calls to execute custom logic.
- [Game Software Development Kits](https://awesome-repositories.com/f/game-development/game-software-development-kits.md) — Offers a full development kit for building mods with integrated symbol resolution and dependency management.
- [Mod Loading Systems](https://awesome-repositories.com/f/game-development/mod-loading-systems.md) — Manages mod loading, unloading, and updates through a publish-subscribe event system.
- [Mod Compatibility Layers](https://awesome-repositories.com/f/game-development/tooling-asset-pipeline/modding-frameworks/mod-compatibility-layers.md) — Implements built-in compatibility checks to ensure multiple third-party modifications coexist without crashing. ([source](https://docs.geode-sdk.org/))
- [Scene Graphs](https://awesome-repositories.com/f/game-development/engine-architecture/scene-graphs.md) — Integrates custom UI nodes directly into the game's hierarchical rendering tree.

### Part of an Awesome List

- [Mod Loaders](https://awesome-repositories.com/f/awesome-lists/devtools/mod-loaders.md) — Injects dynamic libraries into Geometry Dash to alter game behavior and add new features.
- [Mod Compatibility Layers](https://awesome-repositories.com/f/awesome-lists/devtools/mod-loaders/mod-compatibility-layers.md) — Tracks active modifications and hooks in a central registry to prevent conflicts and crashes.
- [Hook Registries](https://awesome-repositories.com/f/awesome-lists/devtools/mod-loaders/mod-compatibility-layers/hook-registries.md) — Provides a centralized registry of active function hooks to detect and resolve logic conflicts. ([source](https://docs.geode-sdk.org/))
- [UI Extensions](https://awesome-repositories.com/f/awesome-lists/media/cocos2d-games/ui-extensions.md) — Extends the game's UI system by adding custom node types rendered within the scene graph.

### Development Tools & Productivity

- [Manifest-Driven Dependency Managers](https://awesome-repositories.com/f/development-tools-productivity/manifest-driven-dependency-managers.md) — Uses JSON metadata files to determine mod load order and version compatibility before initialization.
- [DSL for Function Hooking](https://awesome-repositories.com/f/development-tools-productivity/dsl-for-function-hooking.md) — Allows writing hooks using inline syntax to avoid manual management of calling conventions. ([source](https://docs.geode-sdk.org/))

### Operating Systems & Systems Programming

- [Trampoline-Based Hook Engines](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-instruction-patching/trampoline-based-hook-engines.md) — Redirects execution from original game functions to mod code while preserving the native call stack.
- [Dynamic Library Loading](https://awesome-repositories.com/f/operating-systems-systems-programming/dynamic-library-loading.md) — Implements the loading of external shared libraries at runtime to extend game functionality.

### Programming Languages & Runtimes

- [Runtime Symbol Resolution](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/linkers/runtime-symbol-resolution.md) — Locates game function addresses at startup by analyzing the binary's exported symbols and debug information.

### Software Engineering & Architecture

- [Hook Registries](https://awesome-repositories.com/f/software-engineering-architecture/hook-registries.md) — Implements a centralized registry to track all active function overrides and resolve logic conflicts between multiple mods.
- [Event-Driven Plugin Registries](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/hook-event-orchestration/event-driven-plugin-registries.md) — Coordinates mod loading and unloading through a publish-subscribe event system.
- [Application Logic Hooks](https://awesome-repositories.com/f/software-engineering-architecture/application-logic-hooks.md) — Intercepts existing functions to execute custom code or trigger new interface elements. ([source](https://cdn.jsdelivr.net/gh/geode-sdk/geode@main/README.md))

### User Interface & Experience

- [Application Interface Extensions](https://awesome-repositories.com/f/user-interface-experience/extensible-interfaces/application-interface-extensions.md) — Enables the injection of custom popups and interface components directly into the game's scene graph. ([source](https://cdn.jsdelivr.net/gh/geode-sdk/geode@main/README.md))
- [Custom UI Component Frameworks](https://awesome-repositories.com/f/user-interface-experience/custom-ui-component-frameworks.md) — Provides a framework for creating custom popups and interface components within the game's scene graph.

### Content Management & Publishing

- [Dependency Specifications](https://awesome-repositories.com/f/content-management-publishing/mod-metadata-definitions/dependency-specifications.md) — Uses JSON manifests to declare versioning and dependency requirements for mod initialization.

### Security & Cryptography

- [Isolated Execution Sandboxes](https://awesome-repositories.com/f/security-cryptography/application-and-system-security/sandbox-and-isolation/isolated-execution-sandboxes.md) — Runs mod code in isolated execution contexts to restrict unauthorized memory access and system calls.
