This post is just a list of Inversion-of-Control/Dependency Injection solutions for Unity3D for anyone looking to compare. I can’t at this time validate how good any of them are (well, with the obvious exception).
This is a living list. If you know of any I’ve missed, please let me know.
Strange is the open-source IoC framework I built and which is the main focus of this blog. It borrows heavily from previous OS projects Robotlegs and SwiftSuspenders.
Robotlegs for C#
The Actionscript version of Robotlegs was foundational for StrangeIoC. In 2015, our friend prankard ported the framework to C#. Unsurprisingly, the framework will look very familiar to our user base.
A .NET port of Dagger, the lightweight Android dependency injector from Square.
Zenject, like StrangeIoC, is an OS project with a focus on helping Unity developers write large, flexible code bases.
Sebastiano developed some early ideas on Injection containers for Unity. His work was inspirational for many projects that followed, Including StrangeIoC and Zenject.
Simple Injection by Kasper Mindra
Simple IoC Container for Unity3d
uFrame is a paid MVVM framework available from the asset store.
Uniject is an Open Source DI project with a heavy emphasis on creating/promoting testable code. Note that as of this writing this project has been dormant for 2 years.
Inspired by Strange, the developer tells me. The main difference/selling point is integration with UniRx for type-safe commands/signals.