Related Projects

FairyGUI-unity - A flexible UI framework for Unity

  •    CSharp

By using FairyGUI Editor, you can build a variety of complex game interface without writing code or any configuration files. Support Unity、Cocos2dx、Cry Engine、 Havok Vision/Project Anarchy、Egret、LayaAir、Haxe、Pixi、Flash、Starling,and Unreal、LibGDX、Three.js in the future. Compared with traditional Unity UI engines such as NGUI and UGUI, FairyGUI uses a way of thinking closer to the designer to redefine the production process of the UI, which greatly reduces the time the programmer needs to invest in making the UI.

HK2 - A light-weight and dynamic dependency injection framework

  •    Java

HK2 is a light-weight and dynamic dependency injection framework. HK2 is an implementation of JSR-330 in a JavaSE environment. JSR-330 defines services and injection points that can be dynamically discovered at runtime and which allow for Inversion of Control (IoC) and dependency injection (DI).

Swinject - Dependency injection framework for Swift with iOS/macOS/Linux

  •    Swift

Swinject is a lightweight dependency injection framework for Swift. Dependency injection (DI) is a software design pattern that implements Inversion of Control (IoC) for resolving dependencies. In the pattern, Swinject helps your app split into loosely-coupled components, which can be developed, tested and maintained more easily. Swinject is powered by the Swift generic type system and first class functions to define dependencies of your app simply and fluently.

InversifyJS - A powerful and lightweight inversion of control container for JavaScript & Node

  •    Typescript

A powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript. InversifyJS is a lightweight (4KB) inversion of control (IoC) container for TypeScript and JavaScript apps. An IoC container uses a class constructor to identify and inject its dependencies. InversifyJS has a friendly API and encourages the usage of the best OOP and IoC practices. InversifyJS is a tool that helps JavaScript developers write code with good OO design.

OpenNETCF.IoC Framework


A lightweight managed IoC (Inversion of Control) and DI (Dependency Injection) framework designed for the .NET .Compact Framework but the full framework is supported as well. It supports Registration, construction and even event aggregation in a tiny and wicked fast package. ...

Compact Unity


The Compact Unity is a lightweight dependency injection container with support for constructor and property call injection written in .NET Compact Framework 3.5. Also it contains implementation of Event Aggregator pattern.

StructureMap - A Dependency Injection/Inversion of Control tool for .NET

  •    CSharp

StructureMap is a feature rich IoC tool with support for interception, object lifecycles and intelligent disposal patterns, open generic types, modular registrations, conventional registration, custom policies, and all the injection pattern support you would expect in a modern .Net IoC container.

patterns & practices - Unity


The Unity Application Block (Unity) is a lightweight extensible dependency injection container with support for constructor, property, and method call injection. Unity addresses the issues faced by developers engaged in component-based software engineering. Modern business ap...

Unity Community Contributions


A project dedicated to the community contributions for Unity, the Microsoft Patterns and Practices dependency injection framework.

Dagger 2 - Compile-time dependency injection framework for both Java and Android

  •    Java

Dagger is a fully static, compile-time dependency injection framework for both Java and Android. It is an adaptation of an earlier version created by Square and now maintained by Google. It eliminates all reflection, and improves code clarity by removing the traditional ObjectGraph/Injector in favor of user-specified @Component interfaces.

Guice - Lightweight Dependency Injection Framework for Java

  •    Java

Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 6 and above, brought to you by Google. Guice alleviates the need for factories and the use of new in your Java code. Think of Guice's @Inject as the new new. You will still need to write factories in some cases, but your code will not depend directly on them. Your code will be easier to change, unit test and reuse in other contexts.

Dependency Injection Service Provider (DISP)


Dependency Injection Service Provider (DISP) is a wrapper or an interface that aim to allow .NET developers use one of the inversion of control (IoC) containers out there such as StructureMap or Ninject from a high level of abstraction, using the same interface and classes wi...



A library that allows simple Integration of Microsoft's Unity IoC container with ASP.NET MVC 3. This project includes a bespoke DependencyResolver that creates a child container per HTTP request and disposes of all registered IDisposable instances at the end of the request.

ml-agents - Unity Machine Learning Agents

  •    CSharp

Unity Machine Learning Agents (ML-Agents) is an open-source Unity plugin that enables games and simulations to serve as environments for training intelligent agents. Agents can be trained using reinforcement learning, imitation learning, neuroevolution, or other machine learning methods through a simple-to-use Python API. We also provide implementations (based on TensorFlow) of state-of-the-art algorithms to enable game developers and hobbyists to easily train intelligent agents for 2D, 3D and VR/AR games. These trained agents can be used for multiple purposes, including controlling NPC behavior (in a variety of settings such as multi-agent and adversarial), automated testing of game builds and evaluating different game design decisions pre-release. ML-Agents is mutually beneficial for both game developers and AI researchers as it provides a central platform where advances in AI can be evaluated on Unity’s rich environments and then made accessible to the wider research and game developer communities. For more information, in addition to installation and usage instructions, see our documentation home. If you have used a version of ML-Agents prior to v0.3, we strongly recommend our guide on migrating to v0.3.

UniRx - Reactive Extensions for Unity

  •    CSharp

UniRx (Reactive Extensions for Unity) is a reimplementation of the .NET Reactive Extensions. The Official Rx implementation is great but doesn't work on Unity and has issues with iOS IL2CPP compatibility. This library fixes those issues and adds some specific utilities for Unity. Supported platforms are PC/Mac/Android/iOS/WP8/WindowsStore/etc and the library is fully supported on both Unity 5 and 4.6.

Portable IoC

  •    DotNet

Portable IOC is a tiny thread-safe Inversion of Control container that is portable between Windows Phone, Windows Store (Windows 8), Silverlight, and .NET apps.

Mugen Injection

  •    CSharp

A lightweight and fast managed IoC (Inversion of Control) and DI (Dependency Injection) with support for constructor, property, field, and method call injection

Typhoon - Powerful dependency injection for iOS & OSX (Objective-C & Swift)

  •    Objective-C

Powerful dependency injection for Cocoa and CocoaTouch. Lightweight, yet full-featured and super-easy to use. Visit the Typhoon website for an introduction. There's also a nice intro over at Big Nerd Ranch, or here's an article, by John Reid. Quite a few books have been written on the topic, though we're not familiar with one that focuses specifically on Objective-C, Swift or Cocoa yet.