Progression methods
| Signature | Returns | Behavior |
| PerformUpgrade() | bool | Completes the next sequential Small Upgrade, raises events and saves |
| IsFullyUpgraded() | bool | True when every Small Upgrade is complete |
| HasAnyUpgrade() | bool | True when at least one upgrade entry exists |
| ApplyFirstUpgradeAsBaseIfNeeded() | void | Applies the first entry silently when first-as-base is enabled |
State and query methods
| Signature | Returns | Purpose |
| GetCurrentUpgrade() | SmallUpgrade | Current completed state or configured base value |
| GetNextUpgrade() | SmallUpgrade | First incomplete sequential entry |
| GetNextUpgradeCost() | int | Native price of the next entry |
| GetNextUpgradeValue() | float | Gameplay value of the next entry |
| GetSmallUpgradeByIndex(int globalIndex) | SmallUpgrade | Entry at the zero-based flattened index |
| GetUpgradedSmallCount() | int | Number of completed sequential entries |
| GetTotalSmallUpgrades() | int | Total entries across all Big Upgrades |
| GetCurrentBigUpgradeProgress() | float | Normalized progress inside the current Big Upgrade |
| GetOverallUpgradeProgress() | float | Normalized progress across the complete asset |
Persistence methods
| Signature | Behavior |
| SaveDataFunction() | Serializes and writes current Big Upgrade data to PlayerPrefs |
| LoadData() | Loads and replaces state from the current save key |
| ResetSave() | Deletes the key, clears state and reapplies the optional first base entry |
| OnPlayerPrefsCleared() | Handles state when PlayerPrefs has been cleared according to configuration |
Distribution methods
| Signature | Returns | Purpose |
| ApplyValueDistribution(float t, float start, float end) | float | Evaluates the selected value distribution at normalized position t |
| ApplyPriceDistribution(float t, int start, int end) | int | Evaluates and rounds the selected price distribution |
Events
| Event | Payload | Raised when |
| onUpgrade | SmallUpgrade | A Small Upgrade completes |
| onUpgradeDetailed | UpgradeEventData | A step completes with Big, Small and index context |
| onSmallUpgrade | SmallUpgrade | The configured Small Upgrade event point occurs |
| onBigUpgrade | BigUpgrade | The configured Big Upgrade milestone occurs |
| onFullyUpgraded | — | No incomplete entry remains |
| onAnyUpgraded | — | Any standard upgrade succeeds |
| onSmallUpgraded | — | A Small Upgrade event is raised |
| onBigUpgraded | — | A Big Upgrade event is raised |
Core data types
| Type | Key fields |
| SmallUpgrade | isUpgraded, upgradeLevel, upgradeValue, upgradePrice |
| BigUpgrade | bigUpgradeName, smallUpgradesCount, upgradeData |
| UpgradeEventData | smallUpgrade, bigUpgrade, bigIndex, smallIndex, globalSmallIndex |
| BaseUpgradeValues | upgradeLevel, upgradeValue, upgradePrice |