finds.dev

strangeioc/strangeioc

The IoC/Binding Framework for Unity3D and C#

View on GitHub

★ 1,611HTMLupdated Mar 2023

// the take

StrangeIoC is a dependency-injection and MVCS (Model/View/Controller/Service) framework for Unity3D, written in C# and explicitly modeled on the old ActionScript RobotLegs framework. It's for Unity developers who want to decouple view code from business logic via DI, an event bus, and mediators rather than wiring everything through MonoBehaviour references and SendMessage.

The binder is genuinely flexible: you can map singletons, values, or factories, bind polymorphically across multiple interfaces to one concrete class, and tag constructors/post-construct methods without a hand-rolled service locator. It ships two distinct messaging systems - EventDispatcher for loosely-typed payload events and Signals for strongly-typed, compile-time-checked ones - so you can pick the tradeoff per use case. Multiple-context support lets separate scenes bootstrap independently and then cross-communicate, which is useful once a Unity project grows past a single-scene toy. MonoBehaviour mediation keeps Unity-specific view code isolated from the rest of the app, which actually makes unit testing possible outside the engine.

Last push was March 2023 and the README still cites Unity 3.5+ as the supported baseline - there's no evidence it's been revalidated against IL2CPP performance characteristics or scripting backends from the last several years of Unity releases. Reflection-based injection plus the Signal/Command/Mediator indirection adds real runtime overhead and extra allocation, which matters more on mobile/IL2CPP builds where this framework offers no stated mitigation (no source-generator or compile-time injection path). The DI-for-Unity space has moved on: Zenject/Extenject and VContainer are more actively maintained and VContainer in particular uses source generation for much lower overhead, so there's little reason to pick this over them today. Adopting it now means you're committing to a largely unmaintained dependency with no bridges to anything Unity has shipped since roughly 2015 (Addressables, UI Toolkit, DOTS/ECS).

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
1,611
Forks
435
Language
HTML
Last commit
17 Mar 2023

// nearby

If strangeioc isn't quite it.

All repos →