Extenject Dependency Injection IOC
Rated 5.0/5 from 48 ratings on Unity.
Price history
Recorded standalone sale prices and the latest available store price, in USD. Historical dots use the sale start date and its recorded offer price. Prices can change during a sale; this is not a daily price log. Bundle prices and upcoming offers are excluded. History covers up to the 100 most recent recorded offers.
Lowest recorded standalone price in this history: FREE. The latest store price is FREE, matching the lowest recorded price shown here.
View 2 recorded prices
| Sale start / price check | Price | Observation |
|---|---|---|
| FREE | Latest store price | |
| FREE | Unity First Price 2026-06-19 2026-06-26 |
Sale and bundle history
The 1 most recent recorded offers including this asset. Past offers may no longer be available. Bundle prices cover a package, not this asset alone.
About Extenject Dependency Injection IOC
- Tools, Systems & Learning > Game Templates & Systems
- Tools, Systems & Learning > Development Tools & Automation
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)
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.