Method Injection
If you need to inject dependencies into a type but can't do so with constructors, consider using method injection instead. This is most useful for MonoBehaviour
s but can be done with any class, including test cases within the Unity Test Framework.
public class SomeBehaviour : MonoBehaviour{ float speed;
[Inject] public void Construct(GameSettings settings) { speed = settings.speed; }}
The [Inject]
-annotated method can have any name and any accessibility level.
For more information about managing MonoBehaviour
and GameObjects
, see Injection into MonoBehaviour.