This repository is a reusable Godot 4 GDExtension that integrates the JSBSim flight dynamics model.
It also contains a small demo Godot project that exercises the extension.
- GDExtension C++ source in
src/(classJSBGodot) - A minimal demo project in
gojb/(open in Godot to try it) - Submodules:
jsbsim/(flight dynamics)godot-cpp/(Godot C++ bindings)
This repo intentionally does not depend on Terrain3D or large external scenery datasets.
- Godot 4.6+ (4.3+ is supported by the
.gdextensionconfig) - Python 3 + SCons
- A C++ toolchain (Clang/GCC/MSVC)
-
Clone with submodules:
git clone --recursive git@gitlab.md80.ch:gery/godotjsbsim.git cd godotjsbsim -
Build JSBSim (first time only):
cd jsbsim mkdir -p build && cd build cmake .. cmake --build . -j cd ../..
-
Build the extension:
# macOS (Apple Silicon) scons arch=arm64 # macOS (Apple x86) scons arch=x64_64 # Linux scons
-
Run the demo:
cd gojb godot --editor
The demo project contains the GDExtension config at gojb/bin/gojb.gdextension.
For your own project, you typically copy (or vendor) the extension binary + .gdextension
into your project and instantiate the JSBGodot node.
Note: the demo currently resolves JSBSim data from res://../jsbsim (repo layout).
If you package/export a project, you’ll likely want to ship JSBSim data in a dedicated
location (e.g. user:// or an unpacked folder) and point JSBSim at that path.
This project combines multiple open-source components:
- JSBSim: LGPL 2.1
- Godot Engine: MIT
- godot-cpp: MIT
- Title: Cessna172
- Source: https://sketchfab.com/3d-models/cessna172-d1b15841c29c43d0862667300bad55a4
- Author: KOG_THORNS (https://sketchfab.com/ioai25312)