English static mirror for SEO/GEO · AI-assisted translation · Read Chinese original

Jolt Physics in Godot: A Guide to Next-Gen 3D Physics Performance

Forum topic · 小凯 · 2026-01-27

Summary

This Chinese forum post reviews the Jolt Physics engine's integration into the Godot game engine, tracing its origins from Jorrit Rouwe (Guerrilla Games) and its use in AAA titles like Horizon Forbidden West and Death Stranding 2. Jolt progressed from the community godot-jolt extension to a built-in module in Godot 4.4, and becomes the default 3D physics engine in Godot 4.6. The author reports dramatic gains after switching: frame rates jumping from 60 to 200+ FPS, elimination of ghost collisions and tunneling, and stable soft-body simulation. Benchmarks cited from community tests show 20-80x improvements in complex scenes, with one test running 4,000 bodies at 3,500+ FPS on a Ryzen 5950X where stock Godot Physics crashed. The post details technical differences: Jolt's hard joint limits (with replacement nodes like JoltHingeJoint3D for breakable joints), convex radius collision margins, Baumgarte stabilization, active edge detection and enhanced internal edge removal for ghost collision fixes, multi-threaded architecture via a lock-free JobSystem, deterministic cross-platform simulation for replays and netcode, character and vehicle controllers, and known limitations such as slower move_and_slide and missing SoftBody3D wind/gravity support. Includes references to official Godot docs and Jolt repositories.

Jolt Physics, originally created by Jorrit Rouwe (chief physics engineer at Guerrilla Games), has become Godot's next-generation 3D physics engine. Battle-tested in AAA titles like *Horizon Forbidden West* and *Death Stranding 2*, it is built for high-intensity games and VR: multi-core friendly, deterministic simulation, and seamless C++ integration.

Journey into Godot

Jolt's path in the Godot ecosystem: community extension (godot-jolt, ~2.5k stars) → built-in module in Godot 4.4 → default engine for new projects in Godot 4.6. Enable it via:

Project Settings > Physics > 3D > Physics Engine > Jolt Physics

Old projects can still fall back to Godot Physics.

Head-to-Head with Godot Physics

Joints: Jolt does not support "soft limit" properties (e.g., PinJoint3D bias/damping) — it defaults to hard limits. Replacement nodes like JoltHingeJoint3D support breakable joints, soft limits, and independent solver iterations.

| Joint Type | Godot Physics | Jolt Difference | |------------|---------------|-----------------| | PinJoint3D | Soft bias/damping | Hard limits + motor drives | | HingeJoint3D | softness/relaxation | Replacement node + breaking | | SliderJoint3D | Angular limit damping | Gear/pulley extensions | | Generic6DOFJoint3D | Full soft properties | 6DOF motors + rack-and-pinion |

Note: for single-body joints, Godot treats node_a as the world while Jolt does the opposite — use Joints > World Node to fix inverted single-anchor setups.

Collision edges: Jolt's "convex radius" shrinks the shape and wraps it in a rounded shell to prevent ghost collisions. Control it via Collision Margin Fraction (multiplied by AABB, capped at shape.margin).

Stability: Jolt's Baumgarte stabilization adjusts positions without touching velocities. Configure the Baumgarte Stabilization Factor (0–1; 1 solves in one step, ~0.5 is a balanced default).

Ghost collision fixes: Jolt ships two mechanisms — Active Edge Detection (marks ConcavePolygonShape3D triangle edges as active/passive by angle threshold) and Enhanced Internal Edge Removal (runtime point checks that eliminate edges shared by the same body).

Soft bodies: edge constraints, dihedral bending, Cosserat rods, tetrahedral volume preservation, tethers + internal pressure, rigid/soft collision, animated ragdolls. Note: Godot soft bodies don't yet interact with Areas.

Performance Benchmarks

Jolt's multi-core soul: a JobSystem parallelizes broadphase, solving, and integration; lock-free queues; dual-tree broadphase; contact cache warm-starting; island splitting.

Community-reported results:

| Scenario | Godot Physics FPS | Jolt FPS | Gain | |----------|-------------------|----------|------| | 1000 RigidBodies | 120 | 200+ | 67% | | Ragdoll fish school | 30 (jittery) | 120 (stable) | 4x | | 7500-body stack | crash | 179 | ∞ |

Other reports: 4,000 bodies at 3,500+ FPS on Ryzen 5950X (stock Godot crashed); even 10–15% faster than Unity Physics in comparable scenes. Full platform support: Windows, Linux, Android, iOS, WebAssembly, and consoles.

Determinism: consistent input ordering reproduces results exactly — ideal for replays and multiplayer sync. Cross-platform deterministic mode (CMake flag) costs ~8% for identical float results across ARM/x86.

Multi-core scaling data: https://jrouwe.nl/jolt/JoltPhysicsMulticoreScaling.pdf

Characters & Vehicles

Two character modes: Rigid Body Character (fully simulated, most accurate) and Virtual Character (bodyless, query-based, flexible timing). Vehicles support wheeled, tracked, and motorcycle setups with motor-driven constraints.

Godot 4.6 Integration & Caveats

  • Debugger visualizes shapes, contacts, joints, layer masks, sleep states
  • move_and_slide is somewhat slower (~2x) on Jolt, but overall performance wins
  • SoftBody3D wind/gravity not yet wired; community prototypes show real-time car deformation
  • PhysicsServer is not thread-safe; runtime shape changes are expensive

References

1. Godot Engine Documentation — Using Jolt Physics: https://docs.godotengine.org/en/stable/tutorials/physics/using_jolt_physics.html 2. JoltPhysics GitHub: https://github.com/jrouwe/JoltPhysics 3. Jolt Physics Architecture Docs: https://jrouwe.github.io/JoltPhysics/ 4. Godot Jolt Extension: https://github.com/godot-jolt/godot-jolt 5. Reddit: Jolt vs Godot Physics Performance: https://www.reddit.com/r/godot/comments/19ff8s2/psa_you_should_always_use_jolt_instead_of_the/

Tags

#godot#jolt-physics#game-development#physics-engine#performance#multithreading#godot-4-6#soft-body

This page is an English static mirror generated for search and AI citation. It may be a full translation or structured summary of the Chinese original. Canonical interactive discussion lives on the Chinese page: https://zhichai.net/topic/176922605