Download the addon zip from Releases and copy addons/godot-box3d/ into your project:
your-project/
addons/godot-box3d/
godot-box3d.gdextension
bin/
libgodot-box3d.so (Linux)
godot-box3d.dll (Windows)
libgodot-box3d.dylib (macOS)
Then set Project Settings → Physics → 3D → Physics Engine to Box3D Physics and restart Godot.
The restart is required: the physics server is constructed once during engine startup, so changing the setting has no effect until the process restarts.
| Platform | Status |
|---|---|
| Linux x86_64 | Tested |
| Windows x86_64 | Tested |
| macOS arm64 | Compiles, untested |
| macOS x86_64 | Not built |
macOS is a work in progress. Builds are Apple Silicon only and are not notarized, so Intel Macs cannot load the library and Gatekeeper will need convincing on any Mac.
The setting records what you asked for, not what actually loaded, so reading it back is not a real check. Print the active server instead:
func _ready() -> void:
print(ProjectSettings.get_setting("physics/3d/physics_engine"))
print(PhysicsServer3D.get_class())
If the extension failed to load, Godot silently falls back to GodotPhysics3D and logs a warning at startup. A missing or mismatched library is the usual cause, so check the console output first.
Set the physics engine back to DEFAULT, restart, then delete addons/godot-box3d/. Scenes need no changes, since they only ever used stock Godot nodes.