LOCKSTEP PHYSICS FOR .NET
Make every frame agree.
Gravitas brings fixed-point bodies, colliders, collision response, constraints, queries, replay hashes, and diagnostics together inside explicit world contexts.
Build an explicit physics world
Own the runtime
Keep clocks, services, bodies, colliders, queries, replay state, and diagnostics isolated inside one context per simulation.
Choose the dimensions
Run pure 2D, pure 3D, both without cross-contacts, or an explicit mixed 2D/3D collision model.
Author the shapes
Build runtime geometry from primitives, convex or concave meshes, compounds, materials, and engine-neutral shape definitions.
Simulate, query, and observe
Connect bodies
Use deterministic 2D and 3D joints, motors, limits, ragdoll definitions, and context-owned solvers.
Ask the world
Raycast, overlap, sweep, batch, and reduce 2D, 3D, or mixed hits with stable ordering and caller-owned buffers.
See the physics
Project events, counters, contacts, query details, and debug-draw data into host tools without adding a renderer to the core.
Package family
| Package | Serialization profile |
|---|---|
Gravitas |
Standard package with built-in MemoryPack support |
Gravitas.Lean |
Same core physics API without the direct MemoryPack runtime dependency |
Part of the LSF stack
Gravitas builds physics policy on focused lower layers:
- FixedMathSharp for deterministic fixed-point math, transforms, and full-domain geometry.
- SwiftCollections for low-allocation collections, pools, and spatial structures.
- GridForge for explicit voxel worlds, traversal, and physics-partition backing.
- Chronicler for deterministic state transfer and replay infrastructure.
Resources
The API reference is generated from the library's XML documentation. The wiki explains lifecycle ownership, dimensional models, collision, queries, serialization, replay, and diagnostics in task-oriented prose.