Skip to content

💰 Currency / PublicAPI / Resolution

🎯 Purpose

The Resolution folder provides supported helpers for locating the active ICurrencyService within a scene or context.

This is the recommended way to obtain a currency service at runtime without manually wiring references.


⚠️ Important Notes

  • Resolution does not create or compose services
  • Behaviour depends on scene setup or published overrides
  • Returns null when no service is available
  • Caching is applied per scene

🧩 What Lives Here

CurrencyResolve

  • Resolve the active service from:

  • MonoBehaviour

  • GameObject
  • Component

  • Supports:

  • Published overrides

  • Scene-local discovery
  • Per-scene caching

  • Provides cache invalidation helpers


🧠 Usage Guidance

Mental model

Resolution follows a priority order:

  1. Published override
  2. Cached scene result
  3. Scene-local discovery

If no service is found:

  • Returns null
  • May log a warning in editor contexts

When to use

Use CurrencyResolve when:

  • You do not want to pass service references explicitly
  • You are working in scene-driven workflows
  • You are building gameplay systems, UI, or tools

Avoid using it:

  • Inside core systems where explicit dependencies are preferred
  • When a service reference is already available

🧪 Diagnostics

  • null results usually indicate missing bootstrap or scene service
  • Repeated resolution calls should hit cache after first lookup

🚫 Internal Use Only

This helper is part of the public API surface.

Do not:

  • Depend on internal resolver implementations
  • Assume resolution will always succeed

🧹 Safe to Remove

This folder may be removed if resolution helpers are not required.

Currency will continue to operate with explicit service references.


  • Bootstrap — service publishing and overrides
  • UnityIntegration — scene-based service providers
  • PublicAPI / Helpers — composition helpers
  • Abstractions — `ICurrencyS