Drop-in custom physics replication and lag compensation for Roblox.
Roblox's default replication has several limitations that make responsive multiplayer gameplay difficult to achieve. By default, physics is replicated at 20hz, and all characters are subject to a large, non-configurable interpolation delay designed primarily for mobile devices on low-bandwidth connections.
NPC replication is especially inefficient. Roblox often triggers excessive recv traffic for parts moved on the server - sometimes 10x higher than an optimized custom solution - and can also incur unnecessary send usage that is 100x more than normal. This wastes bandwidth and reduces performance.
Chrono solves all of these problems, while also improving developer experience:
- Bypasses Roblox's interpolation delay by manually forwarding CFrame data to other players with a configurable, custom dynamic interpolation delay.
- Far more accurate lag compensation by providing access to historical snapshot data and exposing the interpolation delay.
- Optimized server-controlled entity replication by elegantly disabling default replication. Chrono then sends its own compressed replication data using a fraction of the bandwidth.
- Real-time debugging - Chrono’s API allows developers to create real time debuggers that hooks onto its snapshot and latency system, letting you view exact replication data, packet loss, and per player interpolation states.
Full documentation: https://parihsz.github.io/Chrono/
local chrono = require(ReplicatedStorage.Packages.chrono)
chrono.Start()
Chrono |
Roblox default replication |
Side by side comparison: Red = Roblox, Blue = Native with lock, Black = Native
150 entities moved using Humanoid:MoveTo every 0.1 seconds to a random location (half ticking disabled). Chrono tick rate set to 10 TPS without full rotation. Packet size was measured using the Stats service (Stats.DataSendKbps + Stats.PhysicsSendKbps), sampled every 0.1 seconds and averaged over 60 seconds.
| Mode | Server Send (Kbps) | Client Recv (Kbps) |
|---|---|---|
| Native | 56.81 | 50.49 |
| Roblox | 34.57 | 28.74 |
| Native with lock | 28.98 | 22.13 |
| Custom | 22.10 | 21.92 |
Raw footage: https://youtu.be/xo8EJ9YHSi4
See benchmarks/EntityBench.md and test/tests/benchEntities.luau for more details on the tests.


