Do you guys recommend Jolt?

So, I’ve been using Godot for about a week now, and I just heard about Jolt. Do you guys use it and recommend it? Are there any downsides?

1 Like

What features are there?

Better performance, mainly, but also just having different characteristics compared to Godot Physics.

There are also (completely optional) substitute nodes available for all the joints, which line up better with the interface that Jolt offers than what the default joints do. This allows for things like breakable joints, soft limits and the ability to override solver iterations per-joint.

What about determinism?

While Jolt itself offers deterministic simulations, Godot Jolt is not able to make such guarantees. Simulations in Godot Jolt may look deterministic, and may even happen to be deterministic, but this should not be relied upon if determinism is a hard requirement.

What’s not supported?

  • SoftBody3D is not supported (yet)
  • WorldBoundaryShape3D is not supported
  • The physics server is not thread-safe (yet)
  • Double-precision builds of Godot are not supported (yet)
  • Memory usage is not reflected in Godot’s performance monitors (yet)
  • Ray-casts do not support face_index

What else is different?

  • Area3D detecting static bodies is opt-in, with a potentially heavy performance/memory cost
  • Joints only support soft limits through their substitutes (JoltHingeJoint3D, etc.)
  • Springs and linear motors are actually implemented in Generic6DOFJoint3D
  • Ray-casts using hit_back_faces will hit the back/inside of all shapes, not only concave ones
  • Ray-casts are not affected by the backface_collision property of ConcavePolygonShape3D
  • Shape-casts should be more accurate, but their cost also scale with the cast distance
  • Shape margins are used, but are treated as an upper bound and scale with the shape’s extents
  • Manipulating a body’s shape(s) after it has entered a scene tree can be costly
  • Contact impulses are estimations and won’t be accurate when colliding with multiple bodies

Very helpful, thanks.

1 Like