Extenject Dependency Injection IOC View on Asset Store (opens in new tab)

Package details

Latest version
9.2.0
Last updated
First released
Unity version
2018.4.13 or later
Package size
12.0 MB
Files
754
Favorites
1,038
Views in the past week
101

Price tracking

Last checked
Tracked since
Lowest recorded
Free on

Keywords

Extenject Dependency Injection IOC

by Mathijs Bakker (opens in new tab)

4.9 / 5 · 48 ratings

Ratings by stars
Number of ratings for each star rating
5 stars 44
4 stars 3
3 stars 0
2 stars 0
1 star 1
Price Free

Get it free on Asset Store (opens in new tab)

Affiliate link · Purchases support this site

Price history

Last 6 months

USD
Price history for Extenject Dependency Injection IOC, 6 months Current Free; lowest Free; highest Free in this period. $0 Jun Jul Aug Sep Oct Nov

Asset preview

1 / 7

Extenject Dependency Injection IOC screenshot 1

Extenject Dependency Injection IOC screenshot 1

About this asset

A highly performant dependency injection framework built for Unity. A tool to turn the code base of your game into a collection of loosely-coupled parts. So it's maintainable, flexible and testable.

Wait a minute! I hear you say, This sounds familiar! And yes you are right!..
Extenject is the continuation of the Zenject Project!

Why is dependency injection useful?
The vast majority of effort that is invested in software happens after the initial release. Because loosely coupled code makes your software much easier to change, a small up-front time investment will pay huge dividends as time goes on.

How much does it cost?
Extenject is and will always be free for both personal and commercial projects. It's also open source (licensed under MIT license), so you can fork the code.

The package contains:
- Zenject
- Optional Extras:
  - Zenject Test Framework
  - Extensions for creating test doubles.
  - Memory Pool Monitor
  - Reflection Baking
  - Signals event system
  - Two example games (beginner and advanced)

For more details as well a detailed tutorial, see the Github page here

Extenject is tested on the following platforms:

PC, Mac, Linux, iOS, Android, UWP / WSA / WP8 and WebGL.
Note: All IL2CPP based platforms should be supported.

Key Features:

Injects into:
  - MonoBehaviours and C# classes;
  - Constructors;
  - Fields;
  - Properties;
  - Methods (for methods marked with the [Inject] attribute).
- Conditional binding (eg. by type, by name, by parent type, etc.).
- Optional Dependencies.
- Dynamically creating objects after initialization using factories.
- Built-in support for Memory Pools.
- Global, project-wide dependencies to apply to all scenes.
- Nested DI Containers aka Sub-Containers
- Inject across different Unity scenes.
- Scene parenting, to allow one scene to inherit the dependencies from another.
- Convention based binding, based on class name, namespace, or any other criteria.
- Validate Object Graphs in the editor for quicker iteration.
- Automatic binding on components in the scene using the ZenjectBinding component.
- Just-in-time resolving using the Lazy<> construct.
- Support for decorator pattern.
- Built in support for unit test, integration tests, and scene tests.
- Create test doubles with Extenject's Moq and NSubstitute support (libraries included).
- Support for automatically mapping open generic types.
- Just-in-time injection using the LazyInject<> construct.
- Multiple threads support.
- Reflection Baking to eliminate costly reflection operations completely by directly modifying the generated assemblies.
- Automatic injection of game objects using ZenAutoInjecter component.

From the publisher's Asset Store listing.