{"repo":"furkantokkan/Onity","free":true,"listed":false,"github":"https://github.com/furkantokkan/Onity","clone":"git clone https://github.com/furkantokkan/Onity.git","description":"One Unity package for dependency injection, reactive programming, and events - engine-free core, allocation-free hot paths, IL2CPP-validated.","language":"C#","stars":16,"topics":["csharp","dependency-injection","game-development","ioc-container","messaging","reactive-programming","unity","unity3d"],"license":"MIT","category":"game-templates","readme_excerpt":"Onity One Unity package for dependency injection, reactive programming, and events — one idiom, one disposal model, an engine-free core, and hot paths designed to avoid per-call managed allocation. 📖 Documentation, guides & API reference · Install · OnityTask · AI usage guide · Onity vs VContainer / Zenject --- Why Onity A typical Unity project bolts together four assets to ship gameplay: a DI container (Zenject or VContainer), a reactive library (R3 or UniRx), a message bus (MessagePipe), and async/pooling helpers on top. That is four installs, four mental models, four disposal idioms, and four places for an AI agent — or a new teammate — to guess wrong. Onity replaces all of that with one package and one mental model : - DI is the spine. Bind services in a MonoInstaller ; consume them through constructor injection. - Events ride the broker. IMessageBroker and OnityEventHub are auto-bound in every scope — use OnityEvent.Publish(...) / OnityEvent.Subscribe(...) from Unity code with no setup line. - Reactive operators ride both. Subject , ReactiveProperty , and broker.Observe () are all the same IOnityObservable , so Where / Select / Subscribe work on state and events alike. - Everything disposes the same way. Every Subscribe returns IDisposable ; AddTo(this) (Unity) or AddTo(CompositeDisposable) (plain C#) scopes its lifetime — across DI, events, and reactive, identically. The runtime core ( Onity.Core , Onity.DI , Onity.Reactive , Onity.Messaging , Onity.Factory , Onity.Com","default_branch":null,"files":null,"tree":[],"storefront":"/r/furkantokkan","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/furkantokkan/Onity/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}