The Problem
Game development tools are typically split between visual editors (easy to use but limited) and code-first engines (powerful but with a steep learning curve). GDevelop targets the gap between them: a full-featured engine where game logic is built with an event-based visual system rather than traditional programming, while still allowing extension through C++ for advanced users.
What This Does
This repository is the C++ core of GDevelop, the open-source game engine behind the popular no-code editor. The Core/GDCore/ directory contains the engine's foundation: event systems (Events/), extension metadata (Extensions/Metadata/), built-in behaviors like sprites and audio (Extensions/Builtin/), and IDE support utilities (IDE/). The Events/CodeGeneration/ subdirectory is particularly significant—it contains the code generators that translate the visual event system into executable game logic.
The repo also includes CI configuration across multiple providers (.github/workflows/, .travis.yml, .circleci/config.yml, .semaphore/semaphore.yml), suggesting active development and multi-platform build verification. The CMakeLists.txt files at root and in Core/ define the C++ build.
How To Use It
Setup: Build with CMake. Configure using the root or Core/CMakeLists.txt, then build. The README directs contributors to a separate newIDE/README.md for editor contributions, but that directory is not present in this fork.
Configuration: No environment variables or config files are required at runtime. The .clang-tidy, .clang_format, and .vscode/settings.json files configure development tooling rather than the engine itself.
Running it: This is a library, not a standalone application. There is no single entry point. Consumers link against the built C++ core and instantiate engine classes directly. The README points end users to the GDevelop website for the full editor application.
Real-World Use
A game studio building a custom level editor would link against this core to reuse GDevelop's event parsing and code generation. For example, they could instantiate the ExpressionParser2 class from Core/GDCore/Events/Parsers/ExpressionParser2.cpp to parse player input expressions, or use EventsCodeGenerator from Core/GDCore/Events/CodeGeneration/EventsCodeGenerator.cpp to convert visual event blocks into executable logic for their custom runtime.
Code Health & Issues
Med - No test files detected - The structure shows no unit or integration tests. For a code generation engine where subtle bugs produce broken games, this is a significant gap. CI exists but appears to run builds, not test suites. Med - No LICENSE file - The root lacks a license despite the upstream project being MIT-licensed. This fork's redistribution rights are unclear. Low - 1 documentation file for 168 source files - Only DocMainPage.h exists for documentation. The IDE/ and Events/ subsystems have no dedicated docs. Low - Stale CI config - Multiple CI systems (.travis.yml, .circleci/, .semaphore/) overlap with the newer .github/workflows/. This suggests legacy configuration that may no longer be maintained.
The Bottom Line
This is the solid C++ foundation of a proven, widely-used game engine, but it's a library, not a product—end users should get the full editor from GDevelop's site. The missing tests and license are real concerns for anyone considering building on this fork directly. It's best suited for developers who need the engine's event system and code generation as a component, not for those seeking a turnkey game engine.