what_is_gdextension.rst 1.1 KB

1234567891011121314151617181920212223
  1. .. _doc_what_is_gdextension:
  2. What is GDExtension?
  3. ====================
  4. **GDExtension** is a Godot-specific technology that lets the engine interact with
  5. native `shared libraries <https://en.wikipedia.org/wiki/Library_(computing)#Shared_libraries>`__
  6. at runtime. You can use it to run native code without compiling it with the engine.
  7. There are three primary methods with which this is achieved:
  8. * ``gdextension_interface.h``: A set of C functions that Godot and a GDExtension can use to communicate.
  9. * ``extension_api.json``: A list of C functions that are exposed from Godot APIs (:ref:`Core Features <doc_scripting_core_features>`).
  10. * :ref:`*.gdextension <doc_gdextension_file>`: A file format read by Godot to load a GDExtension.
  11. Most people create GDExtensions with some existing language binding, such as :ref:`godot-cpp (for C++) <doc_godot_cpp>`,
  12. or one of the :ref:`community-made ones <doc_what_is_gdnative_third_party_bindings>`.
  13. Version compatibility
  14. ---------------------
  15. See :ref:`godot-cpp Version Compatibility <doc_what_is_gdextension_version_compatibility>`, which applies to all GDExtensions.