Ultimate Progression Framework System
v1.0.0

Progression methods

SignatureReturnsBehavior
PerformUpgrade()boolCompletes the next sequential Small Upgrade, raises events and saves
IsFullyUpgraded()boolTrue when every Small Upgrade is complete
HasAnyUpgrade()boolTrue when at least one upgrade entry exists
ApplyFirstUpgradeAsBaseIfNeeded()voidApplies the first entry silently when first-as-base is enabled

State and query methods

SignatureReturnsPurpose
GetCurrentUpgrade()SmallUpgradeCurrent completed state or configured base value
GetNextUpgrade()SmallUpgradeFirst incomplete sequential entry
GetNextUpgradeCost()intNative price of the next entry
GetNextUpgradeValue()floatGameplay value of the next entry
GetSmallUpgradeByIndex(int globalIndex)SmallUpgradeEntry at the zero-based flattened index
GetUpgradedSmallCount()intNumber of completed sequential entries
GetTotalSmallUpgrades()intTotal entries across all Big Upgrades
GetCurrentBigUpgradeProgress()floatNormalized progress inside the current Big Upgrade
GetOverallUpgradeProgress()floatNormalized progress across the complete asset

Persistence methods

SignatureBehavior
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

SignatureReturnsPurpose
ApplyValueDistribution(float t, float start, float end)floatEvaluates the selected value distribution at normalized position t
ApplyPriceDistribution(float t, int start, int end)intEvaluates and rounds the selected price distribution

Events

EventPayloadRaised when
onUpgradeSmallUpgradeA Small Upgrade completes
onUpgradeDetailedUpgradeEventDataA step completes with Big, Small and index context
onSmallUpgradeSmallUpgradeThe configured Small Upgrade event point occurs
onBigUpgradeBigUpgradeThe 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

TypeKey fields
SmallUpgradeisUpgraded, upgradeLevel, upgradeValue, upgradePrice
BigUpgradebigUpgradeName, smallUpgradesCount, upgradeData
UpgradeEventDatasmallUpgrade, bigUpgrade, bigIndex, smallIndex, globalSmallIndex
BaseUpgradeValuesupgradeLevel, upgradeValue, upgradePrice