Comparisons
Use these pages to see how Onity’s pillars compare with the libraries they replace, feature by feature and with measured results. Each page keeps every number next to its conditions (date, Unity version, scripting backend, process count, settings) and states what the measurement does not cover. This hub has no numbers; the pages do.
What is compared
| Page | Onity pillar | Compared with | What it measures |
|---|---|---|---|
| DI vs VContainer and Zenject | OnityContainer, OnityObjectPool<T>, PooledFactory | VContainer, Zenject | Feature breadth, resolve and build timing, allocation per operation, pooled factory timing |
| Reactive vs R3 and UniRx | Onity.Reactive | R3, UniRx | Feature breadth and the measured operator workloads |
| OnityTask vs UniTask | OnityTask | UniTask | The Release Player gate, API coverage and the remaining gaps |
| Messaging vs MessagePipe | Onity.Messaging | MessagePipe | Feature breadth and the measured publish, subscribe and dispose, keyed and async workloads |
How to read a ratio
- A ratio is Onity’s time divided by the other library’s time for the same workload in the same process. Below 1 means Onity took less time; above 1 means it took more.
- A page reports the median across the measured processes and names the worst process, so a single fast or slow run cannot carry a claim on its own.
- Timing results are timing results. Allocation, other platforms and other workloads are separate measurements, and a page says when it has none.
- The conditions travel with the number: the Unity version, the backend (Mono or IL2CPP), the number of processes, the date and the settings that differ from the defaults. The known slower cases are stated on the same page, not elsewhere.
- Every result was produced by the runners in this repository on one Windows machine. They are reproducible with those runners; they are not a guarantee for other hardware, Unity versions or object graphs.
Evidence pages
The comparison pages cite these records, which are kept unchanged as measured:
- DI re-measurement at the published 0.6.0 package (2026-10-02), the re-measurement at 7266dd8 (2026-10-01), the September 2026 DI summary and the September 24 follow-up.
- Onity.Reactive vs R3 and UniRx Release Player comparison (2026-10-02), with the five run summaries beside it.
- OnityTask vs UniTask Release Player gate (2026-10-02).
- Onity.Messaging vs MessagePipe 1.8.1 Release Player comparison (2026-10-02), with the three run summaries beside it.
- Pooling: own-stack pool measurements (2026-10-01) and the factory and pooling verification.
Older measurements that the current pages no longer carry are in Measurement history, unchanged and dated.