Godot can now load any C++ library without rebuilding the engine

Using any C++ library in Godot

Godot can now load any C++ library without rebuilding the engine

Godot's GDExtension system lets you load native C++ code into an unmodified engine, but managing godot-cpp and third-party libraries across platforms is painful. Conan now packages godot-cpp 10.0, so you can declare it alongside libraries like flecs and build consistently for every target. The post walks through a Swarm node that simulates 100,000 particles fleeing the mouse cursor, all running in C++ inside a Godot scene.

Writing the C++ code is the easy part. The hard part is the build: godot-cpp has to match your Godot version, and every library you add has to be compiled for each platform you ship to.
  1. valorzard

    If you know rust, the Godot rust bindings for GDExtension are also really good and let you use any Rust library in Godot (including tokio and async rust if you really want)

    https://godot-rust.github.io/

  2. voodooEntity

    Was playing arround recently building an RTS with godot until i just hit the ceilling of what i could handle with gdscript performance wise.

    Than started to move alot of heavy logic to c++ simulation : tedious indeed but the results speak for themself.

    Basically allows me to use godot for things like menus dialogues and similar stuff while running the true heavy work in a c++ simulation.

  3. MeteorMarc

    So, what profiling support is available to find the critical parts of your GDscript or C# code. Before needlessly jumping into c++ hassle for performance reasons? Tfa addresses functional reasons, which is ok.

  4. Asmod4n

    I am building something similar, with c++26 reflection. So any language can use c++ libs with only a few lines of boilerplate in a lifetime and memory safe way where possible. And where it’s not possible to infer the safe lifetime of an object i got a small .toml file which tells the lib how to safely use those functions.

  5. zerr

    > // Copy the position of every entity into the MultiMesh buffer

    So, is a zero-copy impossible due to world (C++ vs Godot) boundaries?

More from this day

2026-09-29