Skip to content

appsinacup/godot-box2d

Repository files navigation

Godot Box2D

NOTE

Currently waiting for box2c to be released. New issues won't be fixed until then. In meantime try rapier2d physics engine.

chat on Discord Chat on Discord

A Box2D physics server for Godot Engine, implemented as a GDExtension.

Table of Contents

  1. Limitations
  2. Differences
  3. Supported Platforms
  4. Installation
  5. Features
  6. Comparison
  7. License

Limitations

  • Missing circles and capsules skewing.
  • Missing thread-safety.
  • Missing double precision builds.
  • Missing cross platform determinism.

Differences

Supported Platforms

Curently the Godot Box2d addon builds for:

  • Windows (x86_64, x86_32)
  • macOS (x86-64 + arm64 Universal)
  • Linux (x86_64)
  • Android (arm64, arm32, x86_64, x86_32)
  • iOS (arm64)
  • Web (wasm32)

Installation

  • Automatic (Recommended): Download the plugin from the official Godot Asset Store using the AssetLib tab in Godot.
  • Manual: Download the Github Release godot-box2d.zip and move only the addons\ folder into your project addons\ folder.

After installing, go to Advanced Settings -> Physics -> 2D. Change Physics Engine to Box2D.

Video Tutorial:

Tutorial

Features

Improved stability

Determinism

Box2D is binary deterministic. Godot Box2D should also be binary deterministic, however no such tests were run yet. The newest version of Box2D, v3, will also support cross determinism. When that is done, will also add it here.

Comparison

Watch a comparison to Godot Physics 2D and Rapier 2D physics plugin:

Comparison

Or read about it on appsinacup.com/godot-physics-vs-box2d-vs-rapier2d

License

The Box2D library is developed and maintained by Erin Catto and is provided under the MIT license.

All code in this repository is provided under the MIT license. See LICENSE for more details and THIRDPARTY for third-party licenses.

Based on rburing/physics_server_box2d. Many thanks to you for starting implementation on this!