unity-vcontainer

Unity VContainer - High-Performance DI for Unity

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "unity-vcontainer" with this command: npx skills add creator-hian/claude-code-plugins/creator-hian-claude-code-plugins-unity-vcontainer

Unity VContainer - High-Performance DI for Unity

Overview

VContainer is a high-performance IoC container for Unity, providing dependency injection patterns for testable and maintainable code.

Core Topics:

  • Constructor and method injection

  • Service registration patterns (Singleton, Transient, Scoped)

  • LifetimeScope hierarchies

  • MonoBehaviour injection

  • Factory patterns with DI

  • Testing with mocks

Foundation Required: unity-csharp-fundamentals (TryGetComponent, FindAnyObjectByType, null-safe coding)

Learning Path: DI fundamentals → VContainer basics → Advanced patterns → Testing

Quick Start

using VContainer; using VContainer.Unity;

// Define service interface public interface IPlayerService { void Initialize(); }

// Implement service public class PlayerService : IPlayerService { public void Initialize() => Debug.Log("Player initialized"); }

// Setup LifetimeScope public class GameLifetimeScope : LifetimeScope { protected override void Configure(IContainerBuilder builder) { builder.Register<IPlayerService, PlayerService>(Lifetime.Singleton); builder.RegisterComponentInHierarchy<PlayerController>(); } }

// Inject into MonoBehaviour public class PlayerController : MonoBehaviour { [Inject] private readonly IPlayerService mPlayerService;

void Start() => mPlayerService.Initialize();

}

Key Concepts

Lifetime Scopes

  • Singleton: One instance per container

  • Transient: New instance every resolve

  • Scoped: One instance per scope

Injection Types

  • Constructor Injection: Preferred for required dependencies

  • Method Injection: For optional dependencies

  • Property/Field Injection: Use [Inject] attribute

Reference Documentation

VContainer Best Practices

Core DI patterns:

  • Registration patterns and lifetime management

  • LifetimeScope hierarchies

  • Testing with mock dependencies

VContainer Integration Patterns

Advanced integrations:

  • MVVM with reactive properties

  • Cross-framework integration patterns

Best Practices

  • Register interfaces: Loose coupling and testability

  • Constructor injection first: Explicit dependencies

  • Avoid Service Locator: Don't resolve in Update loops

  • Test with mocks: Use ContainerBuilder in tests

  • Clear hierarchies: Root → Scene → Local scopes

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

unity-networking

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

unity-unitask

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

unity-r3

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

csharp-xml-docs

No summary provided by upstream source.

Repository SourceNeeds Review