The project comes with a demo scene containing a simple game showcasing many of the features offered by Init(args). It acts as an example of a very flexible and easily unit-testable architecture that can scale well to drive large projects as well. Installing Dependencies Before installing the demo scene you must first install the Unity ..
Author : Timo Naskali
To reference code in Init(args) from your own code you need to create assembly definition assets in the roots of your script folders and add references to the assemblies containing the scripts you want to use. Init(args) is split into four different assemblies: InitArgs – The main assembly that contains most classes including MonoBehaviour<T>. InitArgs.Interfaces ..
You might want to check from time to time if Init(args) has new updates, so you don’t miss out on new features. The process for updating Init(args) is very similar to installing it, and done using the Package Manager window inside of Unity. You can do so by following these steps: Open the Package Manager ..
Init(args) can be installed using the Package Manager window inside Unity. You can do so by following these steps: Open the Package Manager window using the menu item Window > Package Manager. In the dropdown at the top of the list view select My Assets. Find Init(args) in the list view and select it. Click the ..
What Are Services? Services are objects that provide services to one or more clients that depend on them. Init(args) automatically caches a single instance of each service and makes it simple to share that globally across all clients. Defining Services In Code ServiceAttribute To define a class as a service, simply add the Service attribute ..
Init(args) contains new generic versions of the MonoBehaviour base class, extending it with the ability to receive up to six objects during initialization. For example the following Player class depends on an object that implements the IInputManager interface and an object of type Camera: public class Player : MonoBehaviour<IInputManager, Camera> When you create a component ..
Init(args) is a seamlessly integrated and type safe framework for providing your Components and ScriptableObjects with their dependencies. Main Features Add Component with arguments. Instantiate with arguments. Create Instance with arguments. new GameObject with arguments. Service framework (a powerful alternative to Singletons). Wrapper system (attach plain old class objects to GameObjects). Auto-Initialization support. Assigning to ..