Skip to content

Onity 0.2.0

Choose a tag to compare

@furkantokkan furkantokkan released this 30 May 15:36
· 54 commits to main since this release

Onity 0.2.0 — one Unity package for dependency injection, reactive programming, and events.

Highlights

  • DI: compiled activators with an automatic reflection fallback (IL2CPP-validated), automatic entry-point lifecycle (IOnityInitializable/IOnityTickable/IOnityFixedTickable/IOnityLateTickable), collection injection (IEnumerable<T>/IReadOnlyList<T>/List<T>/T[]…), open-generic registration, child-scope lifetimes, and a Roslyn analyzer (ONITY001ONITY006).
  • Reactive: one IOnityObservable with a full operator set, Subject/ReactiveProperty, one IDisposable + AddTo disposal model.
  • Events: auto-bound IMessageBroker/OnityEventHub, keyed and async channels.
  • DOTS: a Burst-compiled Onity.DOTS bridge drains the event broker into Entities.
  • Docs: GitHub Pages site, an AI-indexed usage guide, reference catalogs, and migration guides.

Notes (honest)

  • Engine-free core; hot paths are designed to avoid per-call managed allocation, but a transient resolve still allocates its returned instance, and the benchmark allocation figures are being re-measured. Timing numbers are indicative (Editor-Mono, one machine).
  • The only third-party runtime dependency is ZLinq (auto-restored via NuGetForUnity).
  • CI builds the engine-free core with no Unity license; the Unity EditMode/PlayMode tests run once a UNITY_LICENSE secret is configured.

Install

Unity → Window → Package Manager → + → Add package from git URL:

https://github.com/furkantokkan/Onity.git?path=Packages/com.onity.framework#v0.2.0