Ultimate Progression Framework System
v1.0.0
Complete Currency ScriptableObject Inspector
The Currency Inspector separates identity, live balance and persistence actions into three focused sections.

Create a Currency asset

  1. 01
    Open Create menu

    Right-click in the Project window.

  2. 02
    Choose Currency

    Select Bcyly Labs › Ultimate Progression Framework › Currency.

  3. 03
    Assign a unique ID

    Currency IDs are used by economy APIs and must not be duplicated.

  4. 04
    Set a stable name

    The name participates in persistence keys and economy matching.

Inspector section

1. Base Settings

Defines the currency identity, numeric behavior and first-run balance.

Currency Base Settings section
Base Settings provides the stable identity and authored default balance.
FieldPurposeGuidance
IDInteger lookup key for public APIsKeep unique across Currency assets
Currency NameDisplay and economy-matching nameKeep unique and stable
TypeInt rounds values; Float preserves decimalsChoose according to gameplay precision
Default ValueBalance used when no save existsSet the intended first-run amount
Inspector section

2. Current Runtime Value

Displays and modifies the live shared balance for development and runtime testing.

GetValue returns the balance after applying the configured numeric type. SetValue replaces it; ModifyValue adds a positive or negative delta. Both operations save immediately and raise change events.

Currency Current Runtime Value section
Runtime Value exposes the shared balance and quick modification controls.
csharp
gold.SetValue(500f);
gold.ModifyValue(75f);   // Gain 75
gold.ModifyValue(-25f);  // Spend 25

if (gold.HasEnough(100f))
    Debug.Log("Purchase available");
Inspector section

3. Save & Data Actions

Provides manual Save, Load and Reset operations around the automatic persistence behavior.

Currency Save and Data Actions section
Save & Data Actions supports explicit development-time persistence testing.
ActionBehavior
SaveStores the typed current value in PlayerPrefs
LoadLoads the typed key or falls back to Default Value
ResetRestores Default Value, saves and raises OnValueReset

Currency events

EventValue passed
OnValueChangedNew current balance
OnValueIncreasedPositive amount gained
OnValueDecreasedPositive magnitude deducted
OnValueResetReset balance
OnValueLoadedLoaded balance