Godot ahora puede usar cualquier biblioteca de C++
Using any C++ library in Godot

Godot permite cargar código nativo mediante GDExtension, pero compilar godot-cpp y cada biblioteca para múltiples plataformas es complejo. Conan simplifica el proceso: su receta en ConanCenter gestiona godot-cpp como un paquete más y permite añadir cualquier biblioteca de C++ de forma consistente. El artículo muestra cómo integrar flecs, una biblioteca ECS, para simular 100.000 partículas en una escena de Godot.
Escribir el código C++ es la parte fácil. La parte difícil es la compilación: godot-cpp tiene que coincidir con tu versión de Godot, y cada biblioteca que añadas debe compilarse para cada plataforma a la que distribuyas.
- valorzard
Si sabes Rust, los bindings de Rust para GDExtension de Godot también son muy buenos y te permiten usar cualquier biblioteca de Rust en Godot (incluyendo tokio y async rust si de verdad quieres)
- voodooEntity
Estuve jugando hace poco construyendo un RTS con Godot hasta que simplemente llegué al techo de lo que podía manejar en cuanto a rendimiento con GDScript.
Entonces empecé a mover gran parte de la lógica pesada a una simulación en C++: tedioso, ciertamente, pero los resultados hablan por sí solos.
Básicamente me permite usar Godot para cosas como menús, diálogos y cosas similares mientras ejecuto el verdadero trabajo pesado en una simulación en C++.
- MeteorMarc
Entonces, ¿qué soporte de profiling hay disponible para encontrar las partes críticas de tu código GDScript o C#? Antes de saltar innecesariamente al lío de C++ por razones de rendimiento. El artículo aborda razones funcionales, lo cual está bien.
- Asmod4n
Estoy construyendo algo similar, con reflexión de C++26. Así cualquier lenguaje puede usar bibliotecas de C++ con solo unas pocas líneas de boilerplate de forma segura en cuanto a tiempo de vida y memoria donde sea posible. Y donde no es posible inferir el tiempo de vida seguro de un objeto, tengo un pequeño archivo .toml que le dice a la biblioteca cómo usar esas funciones de forma segura.
- zerr
> // Copy the position of every entity into the MultiMesh buffer
Entonces, ¿es imposible un zero-copy debido a las fronteras del mundo (C++ vs Godot)?