Dependency Injection in Unity3D using Zenject

Author Alex
Dependency Injection in Unity3D using Zenject

Udemy - Dependency Injection in Unity3D using Zenject.

Learn Zenject - a powerful, free, open-source, constantly updating dependency injection framework designed for Unity3d

What you'll learn
Refactor existing and build new Unity projects using the Zenject Framework
Create loosly coupled connections using Zenject Signals
Increate mobile game performance by using the Memory Pool classes provided by Zenject
Create unit tests with Zenject and MOQ

Requirements
Students should be familiar with Unity basics
Intermediate C# programming experience is required
Design Patterns knowledge is a plus, but not mandatory

Description
This course is dedicated to Zenject - a free open-source dependency injection framework designed for Unity.

This course is updated for Zenject Version 6.1.1. Zenject is constantly updated by it’s creator, and I’ll try to update the course content as soon as functionality is added or modified.

Before we dig into the dependency injection, I'll show that you can use Zenject without deep understanding of its mechanics - it is so easy!

Next, I'll continue with the detailed explanation of the dependency injection pattern in the Dependency Injections basics section. What, Why and How - those questions will be answered in this section.

Injecting MonoBehaviour classes section explains how to properly setup Unity scene using Zenject components, and shows some basic bindings examples.

The Bindings section deeply covers the functionality that makes Zenject so flexible and powerful, allowing its users to create injections of any complexity.

Adding non-MonoBehaviour classes to the Unity lifecycle section explains how integrate non-MonoBehaviour classes into Unity Game Loop, giving them the ability to use Start, Update and OnDestroy-like methods in such classes.

In the Container section, I'll show some additional DiContainer methods that might become useful. We'll also cover Zenject order of operations, which will help you to avoid (or at least easily debug) Zenject exceptions.

Refactoring: Removing other patterns section compares Dependency Injection, Singleton and Service Locator patterns, and demonstrates a painless way to refactor them.

In the Factory section, you will learn how to create and inject MonoBehaviour objects dynamically with a little help from the Factory class

Next, I'll show you how the manage and reuse created objects using Memory Pools, which can be especially useful for a mobile device game.

Zenject also allows grouping bound objects, combining the Facade pattern with the Subcontainer functionality. Will cover this topics in details in the Subcontainer section.

In the Dealing with multiple scenes section you will learn how to pass dependencies from one scene to another and use dependency injection in conjunction with Unity multi-scene editing feature.

This course also covers Signals, an implementation of the Observer pattern. In the Building an Event System section, I'll show you an example of a custom made event system and then compare it to the functionality provided by Zenject.

Finally, in the Unit and Integration Testing section, I'll show you how Zenject simplifies unit and integration test creation with its helper classes and MOQ library support.

Who this course is for
Unity developers that want to refactor their existing projects or create new projects using Dependency Injection
Unity enthusiasts who want to learn the Dependency Injection pattern to use it in the game development.

Download links:
Comments
Add comment
Add comment:
Your name:
Your E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
I am not robot: *
Archive
«    April 2024    »
MonTueWedThuFriSatSun
1234567
891011121314
15161718192021
22232425262728
2930 
December 2023 (1)
October 2023 (1)
May 2023 (1)
February 2023 (519)
January 2023 (532)
December 2022 (515)
Vote
Upgrade to Premium