# Built-In
Based on a fork of [[Bullet (Physics Engine)]] due to disagreements with the external developer that did not want to make changed to support Godot and games in general.
> Godot Physics replaced Bullet Physics because according to the Godot devs Bullet was originally made for simulation, not for games. And according to the Godot devs, the Bullet maintainer is slow/reluctant to add game specific features, Godot devs want something that was more purpose built, something they can adjust to their specific needs, maintain themselfs.
> ...
> Fast forward to Godot 4.0 alpha and the person who was responsible to carry over the change to Godot Physics and maintain Godot Physics left Godot to do commercial work while Godot Physics was nowhere near being ready for a stable release.
> ...
\- `golddotasksquestions` in Reddit [comment](https://www.reddit.com/r/godot/comments/16p90a1/godot_4_default_physics_engine_is_a_complete_mess/k1pmldo/)
> My team and I are working on relatively large games using the Godot 4 engine (You can watch the Hellbringers game on YouTube), and without Jolt, creating such a game would be impossible. Godot's physics don't work for large games like this. We understand that the Godot team would like to develop their own engine, but it will take many years to get it to the desired level at the current pace. And we want to develop games now, not in 3-5 years. On behalf of the developers of large games, we kindly ask you to include Jolt in the core of the engine.
\- `Regrad` in Github [comment](https://github.com/godotengine/godot-proposals/issues/7308#issuecomment-1843254216)
# Jolt
- [[Jolt Physics]]
Only supports 3D physics. Supposedly a drop-in replacement for the native engine and may represent a 2x increase in performance in some scenarios.
While Jolt itself is deterministic, which is important for netcode and general predictability, the Godot Jolt adapter refuses to [test](https://github.com/godot-jolt/godot-jolt/issues/301) it and specifically disclaims determinism in the readme.
There is an [attempt to push for Jolt to be officially endorsed](https://github.com/godotengine/godot-proposals/issues/7308) and perhaps even replace Godot's builtin physics engine.
# PhysX
- [[PhysX]]
Highly experimental.
# SG Physics
- [[SG Physics 2D]]
A 2D physics engine. Not a drop-in replacement fot Godot's native engine but it exposes a lot more functionality and allows a lot more control as a result.
The engine is deterministic.
> One of the requirements for rollback netcode, is that any physics or collision detection in your game must be deterministic.
>
> A physics engine is "deterministic" if it will play out exactly the same on two different computers, if both have the exact same starting state.
>
> Unfortunately, the built-in physics engine in Godot is NOT deterministic!
\- SG Physics Official Introduction and Tutorial Page
Uses fixed-point math, which improves determinism because floating point implementations vary significantly across even chips by the same manufacturer.
- https://gitlab.com/snopek-games/sg-physics-2d/
- https://www.snopekgames.com/tutorial/2021/getting-started-sg-physics-2d-and-deterministic-physics-godot
# Box2D
- [[Box2D]]
A 2D physics engine.
- https://github.com/erincatto/box2d
- https://github.com/erincatto/box2c
- https://github.com/appsinacup/godot-box2d
- https://github.com/godotengine/godot-proposals/issues/7415
# Rapier
- [[Rapier (Physics Engine)]]
- Fluid Simulation
- Deterministic (for a single given platform only, possibly due to floating-point implementation differences)
- The Godot integration only supports 2D even though Rapier supports 3D as well
- https://github.com/appsinacup/godot-rapier-2d
# References
```cardlink
url: https://www.youtube.com/watch?v=YWydGkCea_Q
title: "Replicating Starfield's Potato Physics - Godot Side Quests!"
description: "Keep hearing how Starfield's Potato physics are \"Amazing\", so spent an afternoon making my own bootleg version in Godot 4 using the amazing Jolt Physics plug..."
host: www.youtube.com
favicon: https://www.youtube.com/s/desktop/ffe751d9/img/favicon_32x32.png
image: https://i.ytimg.com/vi/YWydGkCea_Q/maxresdefault.jpg
```