Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Game Engine Development
  3. JoltPhysics.js

JoltPhysics.js

MITC++1.1.0

A JavaScript port of the Jolt Physics engine using Emscripten, enabling high-performance physics simulations in web applications.

GitHubGitHub
583 stars55 forks0 contributors

What is JoltPhysics.js?

JoltPhysics.js is a JavaScript port of the Jolt Physics engine, a high-performance physics simulation library. It enables developers to integrate advanced rigid body dynamics, collision detection, and physics interactions into web-based applications, games, and simulations. The library is compiled from C++ using Emscripten, providing near-native performance in the browser.

Target Audience

Web developers and game creators building 3D simulations, interactive experiences, or browser-based games that require realistic physics. It's particularly useful for those already familiar with Jolt Physics or seeking a robust alternative to existing web physics engines.

Value Proposition

Developers choose JoltPhysics.js for its comprehensive feature set, performance optimizations through WASM and multithreading, and direct parity with the battle-tested C++ Jolt Physics engine. Its multiple build flavors allow fine-tuning for specific project needs, from compatibility to maximum speed.

Overview

Port of JoltPhysics to JavaScript using emscripten

Use Cases

Best For

  • Building browser-based 3D games with complex physics interactions
  • Creating interactive simulations for education or engineering
  • Developing VR/AR experiences that require accurate collision detection
  • Porting existing C++ Jolt Physics projects to the web
  • Integrating high-performance physics into WebGL frameworks like Three.js or Babylon.js
  • Running deterministic physics simulations across different platforms

Not Ideal For

  • Casual 2D game projects where simpler engines like Matter.js would suffice without the overhead
  • Rapid prototyping scenarios where quick setup and automatic memory management are priorities
  • Applications with strict initial load time requirements, as the WASM bundle can be large
  • Teams lacking experience in C++ or low-level programming, due to the manual resource management

Pros & Cons

Pros

Full API Exposure

Almost the entire C++ Jolt interface is exposed, enabling direct use of advanced features like vehicle physics and soft bodies, as documented in the JoltJS.idl file.

Build Flexibility

Offers seven flavors including WASM, asm.js, and multithreaded variants, allowing developers to balance performance, compatibility, and bundle size based on project needs.

Deterministic Simulations

Supports cross-platform deterministic compilation with the -DCROSS_PLATFORM_DETERMINISTIC=ON flag, ensuring identical physics results across browsers and systems.

Memory Control

Provides explicit reference counting and Jolt.destroy() methods for efficient resource handling, though it requires manual cleanup to avoid leaks.

Cons

Manual Cleanup Burden

Requires explicit calls to Jolt.destroy() and careful reference counting, which the README admits can lead to memory leaks if neglected, adding developer overhead.

Complex Configuration

Setting up involves choosing from seven build flavors and managing WASM files separately, with additional steps for bundlers like Vite, increasing initial complexity.

Performance Trade-offs

WASM builds offer near-native speed but have large bundle sizes, especially multithreaded versions, which can impact web application load times and compatibility.

Frequently Asked Questions

Quick Stats

Stars583
Forks55
Contributors0
Open Issues3
Last commit2 months ago
CreatedSince 2022

Tags

#simulation#webassembly#emscripten#physics#web-games#collision-detection#multithreading#3d-simulation#game-development#javascript-library#vr#javascript#game-engine#rigid-body-dynamics#physics-engine

Built With

E
Emscripten
a
asm.js
W
WebAssembly
C
CMake
C
C++

Included in

Game Engine Development1.3k
Auto-fetched 1 day ago

Related Projects

VueVue

This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core

Stars212,633
Forks33,627
Last commit2 years ago
BootstrapBootstrap

The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.

Stars175,004
Forks78,535
Last commit2 days ago
electronelectron

:electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS

Stars123,459
Forks17,680
Last commit1 day ago
d3d3

Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:

Stars113,790
Forks22,651
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub