Which method(s) does Unity provide for physical integration? RK4? Verlet? Euler?

  • 1
    \$\begingroup\$ Unity uses the physics systems PhysX, however I cannot find which integration method it uses. \$\endgroup\$ – Roy T. Jul 8 '14 at 9:52

For 3D, Unity uses PhysX. According to this answer, PhysX uses a symplectic integrator. The paper it cites as evidence is a bit more ambiguous though:

Since it is a commercial engine the implementation details are unknown ... Most physics engines provide results similar to the Symplectic Euler integrator, or 2nd order Euler. Novodex (Ageia PhysX) provided the best results.

The integration error graph shows it behaving slightly better than the "Euler 2nd order" reference implementation, and significantly better than the "symplectic Euler" reference integrator. So it looks to me like it's not a 100% off-the-shelf integrator, and has some custom adjustments that may be hard to duplicate without the source code.

For 2D, Unity uses Box2D, which uses Symplectic Euler, according to these forum posts.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.