Troubleshooting & Validation
Most UPFS issues come from missing references, unstable identities or dependent data that was not refetched after a structural edit. Start with the exact validation message, then verify the relevant relationship below.
Read Inspector validation first
UPFS surfaces configuration problems near the component that needs attention.
Purchase fails
| Symptom | Likely cause | Resolution |
|---|---|---|
| No next upgrade | Progression is complete or contains no generated entries | Check IsFullyUpgraded and review Big Upgrades |
| No matching cost | Currency names differ between definition and Wallet asset | Match names exactly and refetch/distribute |
| Cannot afford | Balance is below the next generated cost | Inspect GetNextUpgradeCost and Currency.GetValue |
| Player Choice rejected | Selected Currency is unavailable or not affordable | Present GetAffordableOptionsForNext results |
| Stale cost/index | Upgrade structure changed after economy fetch | Fetch Upgrade Info again |
State does not load as expected
- Confirm the current Upgrade Name or Currency Name matches the name used when the save was created.
- Confirm Currency Type has not changed between Int and Float.
- Use PlayerPrefs Viewer to verify that the expected key exists.
- Check whether another development tool or reset flow cleared PlayerPrefs.
- If first-as-base is enabled, remember that reset reapplies the first entry as the base state.
Info Provider data is stale
-
01
Check source
Verify that the correct Upgrade SO is assigned.
-
02
Check structure
Compare Big and Small Upgrade counts with fetched records.
-
03
Refetch safely
Use preserveExisting when custom metadata should be retained.
-
04
Revalidate queries
Confirm name and index-based consumers still point to the intended entries.
Confirmation dialogs
Destructive Editor operations request confirmation before replacing or clearing data.
Custom Inspector is missing
Unity must compile successfully before UPFS Editor tooling can load.
- Open Console and resolve the first compile error in the project.
- Confirm the UPFS package imported completely, including its Editor folder.
- Reimport the affected script only after resolving compilation failures.
- Verify that runtime code uses the bcylyLabs.UltimateProgressionFramework namespace.