mrkeyoor.com_
Sat 05 Sept 06:33 UTC
Dev Toolsevaluationupdated 05 Sept 2026

GDevelop review

GDevelop is an open-source game editor and runtime for making 2D, 3D, and multiplayer games with an event system instead of writing the whole game in code. It publishes to the web, desktop, and mobile, while still giving contributors access to the JavaScript engine, React and Electron editor, extensions, and C++ core.

Verdict

Our GDevelop engine run installed 202 packages in 176 seconds and built in 6 seconds, but its test command stopped because karma was not found. The finished editor remains a sensible choice for visual game makers who want ownership of exported games and room to add code. Contributors should expect a much larger system than the no-code pitch suggests, and they should fix or document the GDJS test dependency before trusting a fresh CI job.

We ran it

Lab card: what happened when we ran GDevelopScreenshot of GDevelop (gdevelop.io)
Install✓ · 176s202 packages · 143 MB
Build✓ · 6s
Tests✗ · 6sran, no count parsed
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo6533 files~942,292 lines of source · 217.6 MB · 6 CI workflows · tests dir

Answers from our run

Does GDevelop build from source?

Dependencies installed in 176 seconds (202 packages), and the build succeeded in 6 seconds. We cloned commit 23422df into a clean Debian container with 3 CPUs and no project-specific setup.

Do GDevelop's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does GDevelop have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use GDevelop?

Contributors expecting the documented GDJS test command to work after one root install: our run reached karma start and stopped because karma was not found.

What are the alternatives to GDevelop?

Godot, Defold, Phaser. Our GDevelop engine run installed 202 packages in 176 seconds and built in 6 seconds, but its test command stopped because karma was not found.

Setup2/5Build passed, but the documented GDJS test path lacked Karma
Docs4/5Clear architecture and contributor paths spread across several guides
Community5/526,217 stars with August issue activity and a September push
Maturity4/5Frequent releases and many platforms, with a failed fresh test run

Who it’s for

Designers and small teams that think more clearly in events, scenes, objects, and behaviors than in engine code.
Educators and first-time game makers who want visual logic with room for JavaScript extensions.
Web game developers who value HTML5 exports and a browser-based runtime.
Contributors prepared to work in a large repository split across the editor, engine, extensions, and compiled core.

Who it’s NOT for

Contributors expecting the documented GDJS test command to work after one root install: our run reached karma start and stopped because karma was not found.
Code-first developers who want gameplay architecture expressed primarily in source files: GDevelop's main authoring model is its visual event system and modular behaviors.
Teams that need multiplayer joins to recover predictably without their own regression test: issue 8968 reports a lobby join that can wait forever and block later attempts.
Companies that require permission to rebrand a fork as GDevelop: the code is MIT-licensed, while the README reserves the GDevelop name and logo.

Setup reality

Our sandbox installed the GDJS project at commit 23422df in 176 seconds, adding 202 packages and using 143 MB. Its build passed in 6 seconds. Tests failed with exit 127 after 6 seconds because the delegated benchmark command reached karma start and the shell reported karma: not found. Npm audit found 0 known vulnerabilities.

The engine path needs Node and npm, with no hosted credentials for the build we ran. Full editor development is separate under newIDE/app; it downloads libGD.js and copies engine resources. Cloud storage testing needs a local hosts-file entry, while official online services and commercial support sit outside the engine build.

Our result covers GDJS, not the React editor, Electron package, mobile exports, or multiplayer service. Electron development keeps a browser dev server running in another terminal. A headless Linux bundle needs system audio and NSS libraries, and the installed CLI can exit before a command finishes when the project is already open.

GDevelop v5.6.281 builds games through events and behaviors

Version 5.6.281 centers the editor on scenes, objects, variables, and reusable behaviors, with game logic defined as events. The runtime covers 2D through PixiJS and 3D through Three.js, with WebGL underneath. Exports target browsers, desktop systems, iOS, and Android. JavaScript remains available when the event model runs out of room, and extensions can add new objects or behavior. That mix is useful for artists, educators, and small teams that want visible logic without surrendering every route into code.

The size of the checkout changes the contributor story. Our measured commit contained 6,533 files, roughly 942,292 lines of source, and occupied 217.6 MB before dependencies. This is an editor, game runtime, extension collection, code generator, and native core in one repository. A designer can download the finished application and avoid that machinery. Someone changing the engine or editor has to identify which layer owns the behavior before choosing a build and test command.

The 6,533-file tree contains several development environments

At roughly 942,292 source lines, the root architecture separates Core, GDJS, GDevelop.js, newIDE, and Extensions. Core describes games and editor operations. GDJS contains the TypeScript and JavaScript runtime plus exporters. GDevelop.js exposes native C++ pieces to JavaScript through compiled bindings. The editor itself uses React and Electron. Official, experimental, and community extensions also span related repositories, so a visible feature may cross generated code, runtime code, editor controls, or an external extension source.

Our lab worked only inside GDJS, where npm installed 202 packages in 176 seconds and used 143 MB. That scoped path is the right place for runtime work and TypeScript checks. It does not prepare the React editor under newIDE/app or the Electron wrapper under newIDE/electron-app. The editor guide has separate installs and keeps its web development server running while Electron starts from another terminal. Contributors should decide which product surface they are changing before installing from the repository root.

What happened when we ran it

Our measurement setup used commit 23422df in a fresh unprivileged Debian container with 3 CPUs and 8 GB of RAM. The GDJS install succeeded in 176 seconds, adding 202 packages and taking 143 MB on disk. The production build then completed in 6 seconds. Npm audit reported 0 known vulnerabilities across the installed dependency tree, including 0 critical, high, moderate, or low findings.

The test step failed with exit code 127 after 6 seconds. The root package changed into tests, invoked npm run test-benchmark, and tried to start ChromeHeadless through Karma. The shell then printed karma: not found. The log does not say whether the missing executable came from an omitted install, a package declaration, or another setup assumption, so we will not choose a cause. The useful finding is that the documented project path did not produce a runnable test command after the install we measured.

The 217.6 MB checkout is only part of a full editor build

Beyond our 217.6 MB engine checkout, starting the React editor copies images, the GDJS runtime, and extensions into its resources, then downloads libGD.js automatically. Building that native bridge yourself is a separate route for changes to the C++ core or native extensions. Cloud storage development also uses a special local hostname mapped through the hosts file. None of those steps were exercised by our engine-only run, and none should be inferred from the successful GDJS build.

A portable Electron bundle adds another installation and platform libraries. On Linux, the documented headless example names NSS and audio packages and runs the binary with a sandbox-disabling flag. The installed command-line behavior also differs according to editor state: with the same project already open, a command is handed to that window and the CLI exits without the final result. The 6-second GDJS build says little about that packaging route, code signing, mobile export, or cloud integration.

GDevelop 5.6.0 has an open report of a stuck multiplayer join

Issue 8968 describes an intermittent multiplayer path where a player waits for a peer identifier with no timeout. According to the report, the full-screen loader remains visible and a state flag blocks later join attempts until the page reloads. The reporter reproduced it on gd.games with GDevelop 5.6.0 build 277 and linked the relevant extension code. There were no comments when fetched, so teams shipping multiplayer should reproduce the condition and test recovery rather than treating the issue text as a confirmed universal failure.

The lab's 6-second test failure does not demonstrate that lobby defect. It shows a separate contributor problem: the available command never reached its ChromeHeadless benchmark suite because Karma was unavailable. Our scan found 6 CI workflow files and a tests directory, while the README also links CircleCI, Semaphore, and AppVeyor status pages. That is evidence of substantial automation, but a new contributor still needs a locally repeatable command for the exact GDJS checkout.

A September push and August release show current maintenance

GitHub recorded a push on September 5, 2026, and 26,217 stars when fetched. The repository listed 630 combined issues and pull requests, with open issue activity continuing through late August. Release v5.6.281 arrived on August 28 with object-list multi-selection, variable editor changes, profiler work, rendering changes, and fixes across tile maps, compressed GLB loading, and extension imports. That mix points to an actively changed editor and runtime rather than a project surviving on old tags.

The maintenance pace does not make the source tree small. Our 217.6 MB checkout approached 1 million lines, and the 176-second install ended in a test command that could not find Karma. GDevelop is easiest to recommend as a finished visual editor, where its event system and export rights solve a clear problem. For engine contributors, budget time to map the repository layers, run each affected package's checks, and prove that a clean environment can reach the browser test runner.

Alternatives

ProjectWhat it isPick it when
Godot gh↗A general 2D and 3D engine with a scene system and its own scripting language.pick this instead when you want a code-centered open engine with deeper control over game architecture.
DefoldA compact editor and runtime for desktop, mobile, console, and web games.pick this instead when a Lua workflow and a smaller runtime suit the project better than visual events.
PhaserA JavaScript framework focused on 2D HTML5 games for browsers and mobile web.pick this instead when you want to write the game in JavaScript and only need a web-first 2D framework.

What people are saying

  1. [velocity-scout] 4ian/GDevelop

Sources

  1. GDevelop README
  2. GDJS engine development guide
  3. GDevelop editor development guide
  4. GDevelop v5.6.281 release
  5. Issue 8968: multiplayer lobby join can hang

More dev tools reviews

filament · serverless · godot · wasmer · UniGetUI · leetcode · the whole board →